描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787519234140丛书名: 国家电网公司招聘考试辅导用书
编辑推荐
《中公版·2020国家电网公司招聘考试辅导用书:计算机类专业知识》具有三大特色:
1.精心研发,紧随大纲:紧随国家电网公司招聘考试大纲,包含6大板块细分55小节,体例科学。内容包含数据结构与算法、数据库系统、计算机网络、操作系统、计算机组成原理、信息新技术六大块知识。
2.双色印刷,重点突出:条例清晰、重点突出的讲解国家电网公司招聘考试计算机专业知识内容。
3.超值服务,随时陪伴:购书享有移动自习室配套全方位服务——核心考点轻松学+在线题库任意练+考友圈答疑解惑+视频直播免费看。
1.精心研发,紧随大纲:紧随国家电网公司招聘考试大纲,包含6大板块细分55小节,体例科学。内容包含数据结构与算法、数据库系统、计算机网络、操作系统、计算机组成原理、信息新技术六大块知识。
2.双色印刷,重点突出:条例清晰、重点突出的讲解国家电网公司招聘考试计算机专业知识内容。
3.超值服务,随时陪伴:购书享有移动自习室配套全方位服务——核心考点轻松学+在线题库任意练+考友圈答疑解惑+视频直播免费看。
内容简介
《中公版·2020国家电网公司招聘考试辅导用书:计算机类专业知识》本书依据计算类考试专业知识大纲精心研发而成。参与本书编写的师资团队强大,编者具有丰富的专业教学辅导经验,对考试规律研究颇深。该团队在认真研究近几年国家电网公司招聘考试大纲的基础上编写本套图书。本书的编写目标是让考生在尽可能短的时间内全面了解国家电网计算机类专业考试内容,夯实基础,提升能力。
目 录
第一章数据结构与算法(1)
第一节线性表(2)
第二节栈和队列(12)
第三节串(19)
第四节数组和广义表(22)
第五节树和二叉树(26)
第六节图(42)
第七节动态存储管理(60)
第八节查找(65)
第九节内部排序(84)
第十节外部排序(96)
第十一节文件(99)
第二章数据库系统(105)
第一节数据库系统导论(106)
第二节数据模型与数据库系统结构(110)
第三节关系数据库(117)
第四节关系数据库标准语言SQL(123)
第五节数据库安全性(141)
第六节数据库完整性(145)
第七节关系数据理论(150)
第八节数据库设计(155)
第九节关系查询处理和查询优化(162)
第十节事务管理(并发控制、数据库恢复技术)(164)
第十一节新数据库技术(分布式、对象关系、XML)(170)
第三章计算机网络(173)
第一节计算机网络概述(174)
第二节物理层(182)
第三节数据链路层(193)
第四节网络层(206)
第五节运输层(223)
第六节应用层(233)
第七节网络安全(238)
第八节无线网络和移动网络(251)
第四章操作系统(255)
第一节操作系统的基本概念(256)
第二节进程管理(264)
第三节处理机调度(272)
第四节存储器管理(282)
第五节设备管理(294)
第六节文件管理(306)
第五章计算机组成原理(313)
第一节计算机相关概念(314)
第二节数据的机器层次表示(320)
第三节指令系统(329)
第四节数值的机器运算(337)
第五节存储系统和结构(341)
第六节中央处理器(350)
第七节总线系统(358)
第八节外部设备(364)
第九节输入输出系统(368)
第六章信息新技术(375)
第一节大数据与云计算的概念(376)
第二节Google云计算原理与应用(384)
第三节主流开源云架构(388)
第四节虚拟化技术(390)
第五节物联网的概念、核心技术、特点(394)
第六节物联网自动识别技术与RFID(400)
第七节无线传感器网络(403)
第八节无线宽带网(407)
第九节移动通信网络(409)
第十节大数据与海量数据(413)
2020届国家电网辅导课程(415)
2020届国家电网招聘笔试课程(418)
2020届国家电网一对一课程(420)
中公教育·全国分部一览表(421)
第一节线性表(2)
第二节栈和队列(12)
第三节串(19)
第四节数组和广义表(22)
第五节树和二叉树(26)
第六节图(42)
第七节动态存储管理(60)
第八节查找(65)
第九节内部排序(84)
第十节外部排序(96)
第十一节文件(99)
第二章数据库系统(105)
第一节数据库系统导论(106)
第二节数据模型与数据库系统结构(110)
第三节关系数据库(117)
第四节关系数据库标准语言SQL(123)
第五节数据库安全性(141)
第六节数据库完整性(145)
第七节关系数据理论(150)
第八节数据库设计(155)
第九节关系查询处理和查询优化(162)
第十节事务管理(并发控制、数据库恢复技术)(164)
第十一节新数据库技术(分布式、对象关系、XML)(170)
第三章计算机网络(173)
第一节计算机网络概述(174)
第二节物理层(182)
第三节数据链路层(193)
第四节网络层(206)
第五节运输层(223)
第六节应用层(233)
第七节网络安全(238)
第八节无线网络和移动网络(251)
第四章操作系统(255)
第一节操作系统的基本概念(256)
第二节进程管理(264)
第三节处理机调度(272)
第四节存储器管理(282)
第五节设备管理(294)
第六节文件管理(306)
第五章计算机组成原理(313)
第一节计算机相关概念(314)
第二节数据的机器层次表示(320)
第三节指令系统(329)
第四节数值的机器运算(337)
第五节存储系统和结构(341)
第六节中央处理器(350)
第七节总线系统(358)
第八节外部设备(364)
第九节输入输出系统(368)
第六章信息新技术(375)
第一节大数据与云计算的概念(376)
第二节Google云计算原理与应用(384)
第三节主流开源云架构(388)
第四节虚拟化技术(390)
第五节物联网的概念、核心技术、特点(394)
第六节物联网自动识别技术与RFID(400)
第七节无线传感器网络(403)
第八节无线宽带网(407)
第九节移动通信网络(409)
第十节大数据与海量数据(413)
2020届国家电网辅导课程(415)
2020届国家电网招聘笔试课程(418)
2020届国家电网一对一课程(420)
中公教育·全国分部一览表(421)
免费在线读
一、数据结构与算法的基础知识
(一)数据结构
1.与数据结构相关的基本术语
(1)数据
数据是能够输入到计算机中并被计算机程序识别和处理的符号的集合。例如,整数、字符串、图像、语音都是数据。
(2)数据元素
数据元素是数据的基本单位。例如,一个班级学生名册中的每个学生记录。
(3)数据项
一个数据元素可以由多个数据项组成。例如,学生的学号、姓名、性别等都属于数据项,它们组合起来构成一个数据元素。数据项又称字段、域或属性。
(4)数据对象
数据对象是具有一定关系的相同性质的数据元素的集合。例如,一个大写字母就是一个数据元素,由大写字母构成的集合可表示为{A,B,…,Z},该集合就是一个数据对象。
(5)数据结构
数据结构是由与特定问题相关的某一数据元素的集合和该集合中数据元素之间的关系组成的。
2.数据结构的分类
数据结构分为逻辑结构和存储结构。
(1)逻辑结构
数据的逻辑结构是指数据元素之间的逻辑关系。数据的逻辑结构与数据元素在计算机中存储的位置无关。常见的数据逻辑结构可分为以下几类。
①集合:集合中的任何两个数据元素之间都没有逻辑关系,只是属于同一个集合,如图1-1-1所示。
②线性结构:线性结构中的数据元素之间存在“一对一”的关系,如图1-1-2所示。
③树形结构:树形结构中的数据元素之间存在“一对多”的关系,如图1-1-3所示。
④图状结构:图状结构中的数据元素之间存在“多对多”的关系,如图1-1-4所示。
(2)存储结构
数据的存储结构是指数据元素及其关系在计算机中的表示,或者说是数据的逻辑结构在计算机存储空间中的存放形式。常见的数据存储结构可分为以下几类。
①顺序存储:逻辑上相邻的元素存放到物理位置上也相邻的存储单元中。使用顺序存储结构可以随机存取元素,但是在进行插入和删除操作时需要移动元素。
②链式存储:不要求逻辑上相邻的元素在物理位置上也相邻,元素之间的逻辑关系由附加的链接指针指示。链式存储结构比顺序存储结构的存储密度小,查找速度也相对较慢,但是插入和删除操作较为灵活。
③索引存储:在存储元素信息的同时需要建立附加的索引表。
④散列存储:根据元素的关键字直接计算出该元素的存储地址。
(二)算法
1.算法的定义
算法是对特定问题求解步骤的一种描述,是一系列解决问题的清晰指令。
2.算法的特征
①有穷性:算法必须在执行有穷步之后终止,即一个算法的操作步骤是有限的。
②确定性:算法中的每一条指令都必须有确切的含义,并且对于特定的输入有特定的输出。
③有输入:算法有零个或多个输入,它们是算法开始运算前赋予参与运算的各个变量的初始值。
④有输出:算法有一个或多个输出,输出的值应是算法计算得出的结果。
⑤可行性:算法是能够执行的,且算法中每一条运算都必须是足够基本的,也就是说算法中定义的操作都是可以通过可实现的基本运算执行有限次来实现的。
3.算法的评定
评定一个算法的优劣,主要有以下几个标准。
①正确性:算法应当满足具体问题的要求。正确性是评定一个算法优劣最重要的标准。
②健壮性:算法对不合法输入的处理能力。当输入的数据非法时,算法也能做出反应或进行适当处理。
③可读性:算法应当可以被人们理解。可读性好,有助于人们理解、测试和修改算法。
④空间复杂度:执行算法所需要的存储空间。
⑤时间复杂度:执行算法所需要的计算工作量。时间复杂度的计算方法如下:
a.确定算法中的基本操作以及问题的规模。其中,基本操作是指重复执行次数和算法的执行时间成正比的操作。简单地说,当基本操作执行完的时候,算法也就基本结束了。通常情况下,基本操作是最深层循环内的语句。
b.根据基本操作的执行情况计算出n的规模函数f(n),时间复杂度为T(n)=O(f(n)中增长最快的项或这一项的系数)。
在计算时间复杂度时,有的算法中输入的数据规模和数据本身会影响基本操作的执行次数。对于这种情况,如果题目中没有特殊要求,一般按照最坏情况来计算,也就是按照使得基本操作执行次数最多的输入来计算时间复杂度。
例题1求出以下算法的时间复杂度。()(单选)
voidexample(intn){
inti=1,j=100;
while(i ++j;
i+=2;
}
}
A.O(n/2)B.O(n2)C.O(n)D.O()
【答案】C。解析:算法中只有一个while循环,取循环内部的语句作为基本操作,++j;和i+=2;都可以作为基本操作。由循环条件i 例题2求出以下算法的时间复杂度。()(单选)
voidexample(intn){
inti,j,sum=0;
for(i=1;i for(j=i;j sum++;
}
A.O(n)B.O(n2)
C.O(1)D.O(n2/2)
【答案】B。解析:算法中最深层循环内的语句是双层循环的内部语句,由于sum++;处于内层循环,因此sum++;是基本操作。显然n为问题规模,可以计算出语句sum++;的执行次数为f(n)=n(n-1)/2,在f(n)中增长最快的项为n2/2,因此时间复杂度为T(n)=O(n2)。
二、线性表的基础知识
(一)线性表的定义
线性表是最基本、最简单也是最常用的一种数据结构。线性表是由n(n≥0)个类型相同的数据元素组成的有限序列。线性表的长度是指线性表中元素的个数。空表是指长度为0的线性表。
(二)线性表的特点
①线性表中一定存在唯一的第一个元素。
②线性表中一定存在唯一的最后一个元素。
③除第一个元素之外,其他元素均有唯一的直接前趋(前件)。
④除最后一个元素之外,其他元素均有唯一的直接后继(后件)。
⑤线性表中的每一个元素都具有相同的数据类型,且不能是子表。
⑥线性表中的每一个元素都有位置和值。位置又称下标,决定了该元素在线性表中的位置和前趋、后继的逻辑关系;值是该元素的具体内容。
⑦线性表中元素的值与它的位置之间可以有特定关系,也可以没有。
(三)线性表的表示方式
1.线性表的顺序表示
线性表中的数据元素是用一组地址连续的存储单元依次存储的,这种表示方式是顺序表示。
2.线性表的链式表示
(1)单链表
单链表用一组任意的存储单元存储线性表的数据元素,存储单元的地址不一定是连续的。
(2)循环链表
循环链表中最后一个节点的后继指针指向头节点,使整个链表形成一个环形。
(3)双向链表
双向链表中每个节点有两个指针域,一个指向它的直接后继,另一个指向它的直接前趋。
三、线性表的存储结构和基本操作
(一)线性表的顺序存储结构和基本操作
线性表的顺序存储结构,是指用一组地址连续的存储单元依次存储线性表中的各个元素。在顺序存储结构的线性表中,逻辑结构上相邻的元素在物理存储单元中也相邻。用顺序存储方式实现的线性表称为顺序表。
1.元素存储地址的计算
假设顺序表中有n个元素,每个元素占m个单元,第一个元素的地址为loc(a1),则第i个元素的地址loc(ai)的计算公式为loc(ai)=loc(a1)+(i-1)×m。
例题已知一个一维数组采用顺序存储结构存储元素,每个元素占用4个存储单元,第8个元素的地址为144,那么第一个元素的地址是()。
A.108B.180
C.116D.112
【答案】C。解析:每个元素占用4个存储单元,并且第8个元素的地址为144,则第一个元素的地址是144-(8-1)×4=116。
2.存储结构
线性表的顺序存储结构如图1-1-5所示。
图1-1-5线性表的顺序存储结构
3.顺序表的基本操作
(1)插入
在顺序表中插入一个新元素,若要求插入后仍保持表中各元素原来的相对位置关系,就要做元素的成块移动,如图1-1-6所示。
图1-1-6顺序表插入元素前、后的状态
(2)删除
在顺序表中删除一个元素,若要求删除后仍保持表中各元素原来的相对位置关系,仍需做元素的成块移动,如图1-1-7所示。
图1-1-7顺序表删除元素前、后的状态
(二)线性表的链式存储结构和基本操作
1.单链表
(1)单链表的节点结构
单链表的节点结构如图1-1-8所示。
图1-1-8单链表的节点结构
其中,data表示数据域,用于存放数据;next表示指针域,用于存放下一个节点的位置。
单链表的一般结构如下:
typedefstructListNode{
intdata;//数据类型可以根据需求改变
structListNode*next;//指针域,用于指向下一个节点。
}ListNode,*LinkList;
(2)带头节点的单链表
带头节点的非空单链表的结构如图1-1-9所示,带头节点的空表的结构如图1-1-10所示。
图1-1-9带头节点的非空单链表
图1-1-10带头节点的空表
设头指针为L,则当前链表为空的条件为L->next==NULL;。
(3)不带头节点的单链表
不带头节点的单链表的结构如图1-1-11所示。
图1-1-11不带头节点的单链表
设头指针为L,则当前链表为空的条件为L==NULL;。
(4)单链表的基本操作
假设在节点p之后插入节点s,如图1-1-12所示,操作语句如下:
s->next=p->next;
p->next=s;
图1-1-12在节点p之后插入节点s
假设删除节点p的后继节点q,如图1-1-13、图1-1-14所示,操作语句如下:
q=p->next;
p->next=q->next;
free(q);
图1-1-13删除节点q前
图1-1-14删除节点q后
2.循环链表
(1)循环链表的定义
循环链表又称循环单链表,是单链表的另一种形式,它是一个首尾相接的链表。将单链表的最后一个节点的后继指针指向头节点,就得到了循环链表。
(一)数据结构
1.与数据结构相关的基本术语
(1)数据
数据是能够输入到计算机中并被计算机程序识别和处理的符号的集合。例如,整数、字符串、图像、语音都是数据。
(2)数据元素
数据元素是数据的基本单位。例如,一个班级学生名册中的每个学生记录。
(3)数据项
一个数据元素可以由多个数据项组成。例如,学生的学号、姓名、性别等都属于数据项,它们组合起来构成一个数据元素。数据项又称字段、域或属性。
(4)数据对象
数据对象是具有一定关系的相同性质的数据元素的集合。例如,一个大写字母就是一个数据元素,由大写字母构成的集合可表示为{A,B,…,Z},该集合就是一个数据对象。
(5)数据结构
数据结构是由与特定问题相关的某一数据元素的集合和该集合中数据元素之间的关系组成的。
2.数据结构的分类
数据结构分为逻辑结构和存储结构。
(1)逻辑结构
数据的逻辑结构是指数据元素之间的逻辑关系。数据的逻辑结构与数据元素在计算机中存储的位置无关。常见的数据逻辑结构可分为以下几类。
①集合:集合中的任何两个数据元素之间都没有逻辑关系,只是属于同一个集合,如图1-1-1所示。
②线性结构:线性结构中的数据元素之间存在“一对一”的关系,如图1-1-2所示。
③树形结构:树形结构中的数据元素之间存在“一对多”的关系,如图1-1-3所示。
④图状结构:图状结构中的数据元素之间存在“多对多”的关系,如图1-1-4所示。
(2)存储结构
数据的存储结构是指数据元素及其关系在计算机中的表示,或者说是数据的逻辑结构在计算机存储空间中的存放形式。常见的数据存储结构可分为以下几类。
①顺序存储:逻辑上相邻的元素存放到物理位置上也相邻的存储单元中。使用顺序存储结构可以随机存取元素,但是在进行插入和删除操作时需要移动元素。
②链式存储:不要求逻辑上相邻的元素在物理位置上也相邻,元素之间的逻辑关系由附加的链接指针指示。链式存储结构比顺序存储结构的存储密度小,查找速度也相对较慢,但是插入和删除操作较为灵活。
③索引存储:在存储元素信息的同时需要建立附加的索引表。
④散列存储:根据元素的关键字直接计算出该元素的存储地址。
(二)算法
1.算法的定义
算法是对特定问题求解步骤的一种描述,是一系列解决问题的清晰指令。
2.算法的特征
①有穷性:算法必须在执行有穷步之后终止,即一个算法的操作步骤是有限的。
②确定性:算法中的每一条指令都必须有确切的含义,并且对于特定的输入有特定的输出。
③有输入:算法有零个或多个输入,它们是算法开始运算前赋予参与运算的各个变量的初始值。
④有输出:算法有一个或多个输出,输出的值应是算法计算得出的结果。
⑤可行性:算法是能够执行的,且算法中每一条运算都必须是足够基本的,也就是说算法中定义的操作都是可以通过可实现的基本运算执行有限次来实现的。
3.算法的评定
评定一个算法的优劣,主要有以下几个标准。
①正确性:算法应当满足具体问题的要求。正确性是评定一个算法优劣最重要的标准。
②健壮性:算法对不合法输入的处理能力。当输入的数据非法时,算法也能做出反应或进行适当处理。
③可读性:算法应当可以被人们理解。可读性好,有助于人们理解、测试和修改算法。
④空间复杂度:执行算法所需要的存储空间。
⑤时间复杂度:执行算法所需要的计算工作量。时间复杂度的计算方法如下:
a.确定算法中的基本操作以及问题的规模。其中,基本操作是指重复执行次数和算法的执行时间成正比的操作。简单地说,当基本操作执行完的时候,算法也就基本结束了。通常情况下,基本操作是最深层循环内的语句。
b.根据基本操作的执行情况计算出n的规模函数f(n),时间复杂度为T(n)=O(f(n)中增长最快的项或这一项的系数)。
在计算时间复杂度时,有的算法中输入的数据规模和数据本身会影响基本操作的执行次数。对于这种情况,如果题目中没有特殊要求,一般按照最坏情况来计算,也就是按照使得基本操作执行次数最多的输入来计算时间复杂度。
例题1求出以下算法的时间复杂度。()(单选)
voidexample(intn){
inti=1,j=100;
while(i ++j;
i+=2;
}
}
A.O(n/2)B.O(n2)C.O(n)D.O()
【答案】C。解析:算法中只有一个while循环,取循环内部的语句作为基本操作,++j;和i+=2;都可以作为基本操作。由循环条件i 例题2求出以下算法的时间复杂度。()(单选)
voidexample(intn){
inti,j,sum=0;
for(i=1;i for(j=i;j sum++;
}
A.O(n)B.O(n2)
C.O(1)D.O(n2/2)
【答案】B。解析:算法中最深层循环内的语句是双层循环的内部语句,由于sum++;处于内层循环,因此sum++;是基本操作。显然n为问题规模,可以计算出语句sum++;的执行次数为f(n)=n(n-1)/2,在f(n)中增长最快的项为n2/2,因此时间复杂度为T(n)=O(n2)。
二、线性表的基础知识
(一)线性表的定义
线性表是最基本、最简单也是最常用的一种数据结构。线性表是由n(n≥0)个类型相同的数据元素组成的有限序列。线性表的长度是指线性表中元素的个数。空表是指长度为0的线性表。
(二)线性表的特点
①线性表中一定存在唯一的第一个元素。
②线性表中一定存在唯一的最后一个元素。
③除第一个元素之外,其他元素均有唯一的直接前趋(前件)。
④除最后一个元素之外,其他元素均有唯一的直接后继(后件)。
⑤线性表中的每一个元素都具有相同的数据类型,且不能是子表。
⑥线性表中的每一个元素都有位置和值。位置又称下标,决定了该元素在线性表中的位置和前趋、后继的逻辑关系;值是该元素的具体内容。
⑦线性表中元素的值与它的位置之间可以有特定关系,也可以没有。
(三)线性表的表示方式
1.线性表的顺序表示
线性表中的数据元素是用一组地址连续的存储单元依次存储的,这种表示方式是顺序表示。
2.线性表的链式表示
(1)单链表
单链表用一组任意的存储单元存储线性表的数据元素,存储单元的地址不一定是连续的。
(2)循环链表
循环链表中最后一个节点的后继指针指向头节点,使整个链表形成一个环形。
(3)双向链表
双向链表中每个节点有两个指针域,一个指向它的直接后继,另一个指向它的直接前趋。
三、线性表的存储结构和基本操作
(一)线性表的顺序存储结构和基本操作
线性表的顺序存储结构,是指用一组地址连续的存储单元依次存储线性表中的各个元素。在顺序存储结构的线性表中,逻辑结构上相邻的元素在物理存储单元中也相邻。用顺序存储方式实现的线性表称为顺序表。
1.元素存储地址的计算
假设顺序表中有n个元素,每个元素占m个单元,第一个元素的地址为loc(a1),则第i个元素的地址loc(ai)的计算公式为loc(ai)=loc(a1)+(i-1)×m。
例题已知一个一维数组采用顺序存储结构存储元素,每个元素占用4个存储单元,第8个元素的地址为144,那么第一个元素的地址是()。
A.108B.180
C.116D.112
【答案】C。解析:每个元素占用4个存储单元,并且第8个元素的地址为144,则第一个元素的地址是144-(8-1)×4=116。
2.存储结构
线性表的顺序存储结构如图1-1-5所示。
图1-1-5线性表的顺序存储结构
3.顺序表的基本操作
(1)插入
在顺序表中插入一个新元素,若要求插入后仍保持表中各元素原来的相对位置关系,就要做元素的成块移动,如图1-1-6所示。
图1-1-6顺序表插入元素前、后的状态
(2)删除
在顺序表中删除一个元素,若要求删除后仍保持表中各元素原来的相对位置关系,仍需做元素的成块移动,如图1-1-7所示。
图1-1-7顺序表删除元素前、后的状态
(二)线性表的链式存储结构和基本操作
1.单链表
(1)单链表的节点结构
单链表的节点结构如图1-1-8所示。
图1-1-8单链表的节点结构
其中,data表示数据域,用于存放数据;next表示指针域,用于存放下一个节点的位置。
单链表的一般结构如下:
typedefstructListNode{
intdata;//数据类型可以根据需求改变
structListNode*next;//指针域,用于指向下一个节点。
}ListNode,*LinkList;
(2)带头节点的单链表
带头节点的非空单链表的结构如图1-1-9所示,带头节点的空表的结构如图1-1-10所示。
图1-1-9带头节点的非空单链表
图1-1-10带头节点的空表
设头指针为L,则当前链表为空的条件为L->next==NULL;。
(3)不带头节点的单链表
不带头节点的单链表的结构如图1-1-11所示。
图1-1-11不带头节点的单链表
设头指针为L,则当前链表为空的条件为L==NULL;。
(4)单链表的基本操作
假设在节点p之后插入节点s,如图1-1-12所示,操作语句如下:
s->next=p->next;
p->next=s;
图1-1-12在节点p之后插入节点s
假设删除节点p的后继节点q,如图1-1-13、图1-1-14所示,操作语句如下:
q=p->next;
p->next=q->next;
free(q);
图1-1-13删除节点q前
图1-1-14删除节点q后
2.循环链表
(1)循环链表的定义
循环链表又称循环单链表,是单链表的另一种形式,它是一个首尾相接的链表。将单链表的最后一个节点的后继指针指向头节点,就得到了循环链表。
评论
还没有评论。