2014海南省C与数据结构链表考资料
2011海南省数据结构(C++)考试题库
39、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
12、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
13、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
A) A, B, C, D, E
B) B, C, D, E, A
C) E, A, B, C, D
D) E, D, C, B, A
44、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。
C)快速排序 D)起泡排序
7、广义表head(((a,b),(c,d)))的运算结果为( A )。
A)(a,b) B)(c,d)
C)空表 D)((a,b),(c,d))
8、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
2、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C)FCFS D)HPF
3、线性表的链接实现有利于( A )运算。
A)插入 B)读元素
C)查找 D)定位
A) A, B, C, D, E
B) B, C, D, E, A
C) E, A, B, C, D
D) E, D, C, B, A
2012海南省数据结构(C++)最新考试试题库(完整版)
24、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
A)4 B)5
C)6 D)7
25、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。
A) 4 B)3 C)2 D)12
32、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定
33、与无向图相关的术语有( C )。
A)强连通图 B)入度
11、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C)FCFS D)HPF
12、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
30、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
C)p=p->nexe->next D)p->next=p
31、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。
C)2,4,3,5,1,6 D)4,5,3,6,2,1
A)LIFO B)FIFO
C)FCFS D)HPF
10、下列序列中,执行第一趟快速排序后得到的序列是( A )。
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
海南省考研计算机复习资料数据结构重要算法详解
海南省考研计算机复习资料数据结构重要算法详解数据结构是计算机科学中一门重要的基础课程,也是考研计算机专业的必考内容之一。
掌握数据结构的相关知识和算法对于考研复习至关重要。
本文将详细介绍海南省考研计算机复习资料中的数据结构重要算法,帮助考生们对这些算法有更清晰的理解和记忆。
1. 数组(Array)数组是最基本、最简单的一种数据结构。
它是一种线性表,由一组相同类型的元素组成,通过元素在内存中的位置来访问和操作。
数组的特点是插入和删除元素相对困难,但是随机访问元素的效率高。
2. 链表(Linked List)链表是另一种常见的线性表数据结构,它以节点的方式存储数据。
每个节点包含一个数据项和一个指向下一个节点的指针。
链表的特点是插入和删除元素相对容易,但是随机访问元素的效率较低。
3. 栈(Stack)栈是一种基于后进先出(LIFO)原则的数据结构。
它类似于一摞盘子,只能从顶部插入和删除元素。
栈经常用于实现函数调用、表达式求值和括号匹配等算法。
4. 队列(Queue)队列是一种基于先进先出(FIFO)原则的数据结构。
它类似于排队,只能从队列的尾部插入元素,并从队列的头部删除元素。
队列常用于实现广度优先搜索和任务调度等算法。
5. 树(Tree)树是一种非线性的数据结构,它由一组以层次结构方式连接的节点组成。
树的一个节点称为根节点,每个节点都可以有零个或多个子节点。
树常用于实现查找、排序和组织数据等算法。
6. 图(Graph)图是一种由节点和边组成的数据结构,节点表示实体,边表示节点之间的关系。
图常用于实现路径查找、网络分析和社交网络等算法。
除了这些基本的数据结构外,还有许多与数据结构相关的重要算法,如深度优先搜索(DFS)、广度优先搜索(BFS)、二叉树遍历、堆排序、快速排序等。
这些算法在考研复习中也是必须掌握的。
综上所述,掌握数据结构的相关知识和算法对于考研复习是至关重要的。
通过对各种数据结构的了解和理解,可以帮助考生更好地解决各种计算问题。
数据结构(第4版)习题及实验参考答案数据结构复习资料完整版(c语言版)
数据结构(第4版)习题及实验参考答案数据结构复习资料完整版(c语言版)数据结构基础及深入及考试习题及实验参考答案见附录结论1、数据的逻辑结构是指数据元素之间的逻辑关系。
即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
2、数据的物理结构亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。
它依赖于计算机。
存储结构可分为4大类:顺序、链式、索引、散列3、抽象数据类型:由用户定义,用以表示应用问题的数据模型。
它由基本的数据类型构成,并包括一组相关的服务(或称操作)。
它与数据类型实质上是一个概念,但其特征是使用与实现分离,实行封装和信息隐蔽(独立于计算机)。
4、算法:是对特定问题求解步骤的一种描述,它是指令的有限序列,是一系列输入转换为输出的计算步骤。
5、在数据结构中,从逻辑上可以把数据结构分成(C)A、动态结构和表态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构6、算法的时间复杂度取决于(A)A、问题的规模B、待处理数据的初态C、问题的规模和待处理数据的初态线性表1、线性表的存储结构包括顺序存储结构和链式存储结构两种。
2、表长为n的顺序存储的线性表,当在任何位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均次数为(E),删除一个元素需要移动的元素的个数为(A)。
A、(n-1)/2B、nC、n+1D、n-1E、n/2F、(n+1)/2G、(n-2)/23、“线性表的逻辑顺序与存储顺序总是一致的。
”这个结论是(B)A、正确的B、错误的C、不一定,与具体的结构有关4、线性表采用链式存储结构时,要求内存中可用存储单元的地址(D)A、必须是连续的B、部分地址必须是连续的C一定是不连续的D连续或不连续都可以5、带头结点的单链表为空的判定条件是(B)A、head==NULLB、head->ne某t==NULLC、head->ne某t=headD、head!=NULL6、不带头结点的单链表head为空的判定条件是(A)A、head==NULLB、head->ne某t==NULLC、head->ne某t=headD、head!=NULL7、非空的循环单链表head的尾结点P满足(C)A、p->ne某t==NULLB、p==NULLC、p->ne某t==headD、p==head8、在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是(B)A、O(1)B、O(n)C、O(n2)D、O(nlog2n)数据结构(第4版)习题及实验参考答案9、在一个单链表中,若删除p所指结点的后继结点,则执行(A)A、p->ne某t=p->ne某t->ne某t;B、p=p->ne某t;p->ne某t=p->ne某t->ne某t;C、p->ne某t=p->ne某t;D、p=p->ne某t->ne某t;10、在一个单链表中,若在p所指结点之后插入所指结点,则执行(B)A、->ne某t=p;p->ne某t=;B、->ne某t=p->ne某t;p->ne某t=;C、->ne某t=p->ne某t;p=;D、p->ne某t=;->ne某t=p;11、在一个单链表中,已知q是p的前趋结点,若在q和p之间插入结点,则执行(C)A、->ne某t=p->ne某t;p->ne某t=;B、p->ne某t=->ne某t;->ne某t=p;C、q->ne某t=;->ne某t=p;D、p->ne某t=;->ne某t=q;12、在线性结构中,第一个结点没有前趋结点,其余每个结点有且只有1个前趋结点。
2014海南省数据结构(C++)理论考试试题及答案
1、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以C)部分地址必须是连续 D)必须是不连续的2、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。
这样的排序方法是( A )。
A)直接选择排序 B)直接插入排序C)快速排序 D)起泡排序3、在数据结构中,从逻辑上可以把数据结构分为( C )。
A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构 D)内部结构和外部结构4、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->nextC)p=p->nexe->next D)p->next=p5、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一C)不含回路 D)有n条边6、下面关于线性表的叙述中,错误的是哪一个?( D )A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用顺序存储,便于进行插入和删除操作。
7、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;C)p->next=s->next; s->next=p D)p->next=s; s->next=q;8、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, EB) B, C, D, E, AC) E, A, B, C, DD) E, D, C, B, A9、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。
2012云南省C与数据结构链表(必备资料)
8、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
9、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
27、在一个单链表中,已知q结点是p结点的前趋结q->next=s; s->next=p; B)s->next=p->next; p->next=s;
C)p->next=s->next; s->next=p D)p->next=s; s->next=q;
A)先进先出 B) 后进先出
C) 只能进行插入 D) 只能进行删除
30、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)
31、数据结构研究的内容是( D )。
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
22、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
32、以下属于顺序存储结构优点的是( A )。
A) 存储密度大 B) 插入运算方便
C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示
A)loc(A1)+i*c B)loc(A1)+(i-1)*c
c课程设计链表
c 课程设计链表一、教学目标本节课的学习目标主要包括以下三个方面:1.知识目标:学生需要掌握链表的基本概念,了解链表的原理和结构,熟悉链表的基本操作,如创建、插入、删除和遍历。
2.技能目标:学生能够运用链表知识解决实际问题,具备使用链表编程的能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生分析问题和解决问题的能力,培养学生的团队合作精神。
二、教学内容本节课的教学内容主要包括以下几个部分:1.链表的基本概念和原理:介绍链表的定义、特点和应用场景,让学生了解链表作为一种数据结构的重要性。
2.链表的结构和操作:讲解链表的结构,包括节点结构和链表的创建、插入、删除和遍历等基本操作。
3.链表的应用:通过实例分析,让学生学会如何运用链表解决实际问题,提高编程能力。
三、教学方法为了实现本节课的教学目标,我们将采用以下几种教学方法:1.讲授法:教师讲解链表的基本概念、原理和操作,引导学生掌握链表知识。
2.案例分析法:分析实际案例,让学生学会运用链表解决具体问题。
3.实验法:让学生动手实践,完成链表的创建、插入、删除和遍历等操作,提高编程能力。
4.小组讨论法:分组讨论,培养学生的团队合作精神和沟通能力。
四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:提供相关章节,为学生提供系统的链表知识。
2.参考书:为学生提供更多的学习资料,拓展知识面。
3.多媒体资料:制作PPT等课件,直观展示链表的结构和操作。
4.实验设备:为学生提供电脑等实验设备,进行链表操作实践。
五、教学评估为了全面、客观、公正地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:关注学生在课堂上的参与程度、提问回答、小组讨论等,记录学生的表现,占总成绩的30%。
2.作业:布置与链表相关的编程练习,检查学生的理解和掌握程度,占总成绩的20%。
3.考试:安排一次链表知识考试,测试学生对链表概念、原理和操作的掌握,占总成绩的50%。
海南省考研数据结构复习重点总结
海南省考研数据结构复习重点总结数据结构是计算机科学与技术专业中一门重要的基础课程,对于海南省考研的学生来说,掌握数据结构的知识是非常关键的。
本文将对海南省考研数据结构中的重点内容进行总结,帮助考生进行复习。
一、线性表线性表是最基本的数据结构之一,它是n个数据元素的有限序列。
线性表的实现方式有顺序存储和链式存储两种。
1. 顺序表顺序表是使用数组来实现的线性表。
顺序表的特点是内存中的数据元素是连续存储的,可以通过下标直接访问元素,插入和删除元素需要移动后续元素。
2. 链表链表是使用指针来实现的线性表。
链表的特点是内存中的数据元素可以是不连续存储的,每个元素包含一个指针,指向下一个元素。
插入和删除元素只需要改变指针的指向,不需要移动其他元素。
二、栈和队列栈和队列是两种常用的线性表,它们都具有特殊的插入和删除操作。
1. 栈栈是一种后进先出(LIFO)的数据结构,它只允许在栈顶进行插入和删除操作。
栈的实现可以使用数组或链表。
2. 队列队列是一种先进先出(FIFO)的数据结构,它允许在队尾插入新元素,在队头删除元素。
队列的实现可以使用数组或链表。
三、树和二叉树树是由n个节点组成的集合,节点之间存在一种或多种特定关系。
树的一种特殊形式是二叉树,每个节点最多有两个子节点。
1. 二叉树的遍历二叉树的遍历有三种方式:前序遍历、中序遍历和后序遍历。
其中,前序遍历先访问根节点,然后遍历左子树和右子树;中序遍历先遍历左子树,然后访问根节点和右子树;后序遍历先遍历左子树和右子树,然后访问根节点。
2. 二叉查找树二叉查找树(BST)是一种特殊的二叉树,它要求对于任意节点,它的左子树中的所有节点值都小于根节点的值,而右子树中的所有节点值都大于根节点的值。
四、图图是由n个顶点和m条边组成的集合,顶点之间的关系可以用边来表示。
图可以分为有向图和无向图,其中有向图的边有方向,无向图的边没有方向。
1. 图的表示和遍历图可以使用邻接矩阵或邻接表来表示。
2014四川省C与数据结构链表考资料
C) O(m*n) D)O(1)
30、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
B)只有一部分,存放结点值
C)只有一部分,存储表示结点间关系的指针
D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
34、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
4、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
5、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)top不变 B)top=0 C)top-- D)top++
21、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
C)p=p->nexe->next D)p->next=p
22、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
C) 对角矩阵 D) 对称矩阵
14、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。
数据结构(海南联盟)
数据结构(海南联盟)引入二叉线索树的目的是答:加快查找结点的前驱或后继的速度设一颗完全二叉树有700个结点,则共有()个叶子结点答:350创建一个包括n个结点的有序链表的时间复杂度是答:O(n2)有六个元素6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈序列答:3 4 6 5 2 1线性表L在()情况下适用于使用链式结构实现答:需不断对L进行删除插入将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是答:n下面()方法可以判断出一个有向图是否有环答:深度优先遍历串下面关于串的叙述中,()是不正确的?答:空串是由空格构成的串堆的形状是一颗答:完全二叉树链表不具有的特点是答:可随机访问任一个元素一颗深度为6的满二叉树有()个叶子答:32计算机算法具备输入、输出和答:可行性、确定性和有穷性若按层序对深度为k的完全竞争二叉树中全部结点从1开始编号,则叶子结点可能的最小编号为答:3若单链表指针为p的结点之后插入指针为s的结点,正确的操作是答:s->next=p->next;p->next=s循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是答:(rear-front+m)%m以下说法正确的是答:一些表面上很不相同的数据可以有相同的逻辑结构设栈s和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次进入栈s,一个元素出栈后即进入Q,若6个元素出队的序列是e2、e4、e3、e6、e5和e1,则栈s的容量至少应该是答:3在一个无向图中,所有顶点的度之和等于边数的答:2栈和队列的共同点是答:只允许在线性表端点处插入和删除对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用()遍历实现编号。
答:后序队列的插入操作是在答:队尾下列关于无向连通图特征的叙述正确的是()Ⅰ.所有顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1答:只有Ⅰ对某个带权连通图构造最小生成树,以下说法中正确的是Ⅰ.该图的所有最小生成树的总代价一定是唯一的Ⅱ.其所有权值最小的边一定会出现在所有的最小生成树中Ⅲ.用prim算法从不同顶点开始构造的所有最小生成树一定相同Ⅳ.使用prim算法和Kruskal算法得到的最小生成树总不相同答:仅Ⅰ在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍答:1判断一个循环队列Q(最多n个元素)为满的条件是答:Q->front==(Q->rear+1)%n若一组纪录的排序码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个纪录为基准得到的一次划分结果为答:40,38,46,56,79,84一个有n个顶点的无向图最多有()条边答:n(n-1)/2设图G是一个含有n(n>1个顶点的连通图,其中任意一条简单路径的长度不会超()答:n-1如果一个串中的所有字符均在另一个串中出现,则说前者是后者的子串答:错快速排序是基于交换的排序方法答:对读取线性表的第i个元素的时间同i的大小有关答:错设p,q是指针,若p=q,则*p=*q。
2014四川省C与数据结构链表考资料
1、下面程序段的时间复杂度是( A )。
s =0;for( i =0; i<n; i++)for(j=0;j<n;j++)s +=B[i][j];sum = s ;A) O(n2) B) O(n)C) O(m*n) D)O(1)2、下面关于线性表的叙述中,错误的是哪一个?( D )A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用顺序存储,便于进行插入和删除操作。
3、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。
A) (G) B) (D) C) C D) D4、线性表的链接实现有利于( A )运算。
A)插入 B)读元素C)查找 D)定位5、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈C)队列 D)树6、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以C)部分地址必须是连续 D)必须是不连续的7、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一C)不含回路 D)有n条边8、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;C)p=p->next->next; D) p->next=p;9、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值C)一个最大值 D)一个均方值10、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
(完整版)数据结构题库多选题
1 . 以下说法正确的是()A . 二叉树的特点是每个结点至多只有两棵子树。
B . 二叉树的子树无左右之分。
C . 二叉树只能进行链式存储。
D . 树的结点包含一个数据元素及若干指向其子树的分支。
答案:A,D解析:2 . 算法设计的要求包括____。
A . 正确性B . 可读性C . 健壮性D . 确定性答案:A,B,C解析:“确定性”属于算法特性而非要求。
3 . 下列属于算法的重要特征的是:A . 有穷性B . 确定性C . 可行性D . 输入和输出答案:A,B,C,D解析: ABCD4 . 图的四中存储结构A . 邻接矩阵B . 邻接表C . 邻接多重表D . 十字链表答案:A,B,C,D解析:5 . 依据所有数据成员之间的逻辑关系的不同,数据结构分为()A . 非线性结构B . 逻辑结构C . 物理结构D . 线性结构答案:A,D解析:6 . 图的应用算法有()A . 克鲁斯卡尔算法B . 哈弗曼算法C . 迪杰斯特拉算法D . 拓扑排序算法答案:A,C,D解析:7 . 计算机算法必须具备________________等特性。
A . 可行性、确定性B . 可行性、可移植性C . 输入、输出D . 有穷性E . 易读性F . 稳定性答案:A,C,D解析:8 . 下列数据结构中,属于线性数据结构的是____A . 栈B . 队列C . 树D . 图答案:A,B解析:9 . 下列说法正确的有:A . 算法和程序原则上没有区别,在讨论数据结构时二者通用B . 从逻辑关系上讲,数据结构分为两大类:线性结构和非线性结构C . 所谓数据的逻辑结构是指数据元素之间的逻辑关系D . 同一数据逻辑结构中的所有数据元素都具有相同的特性是指数据元素所包含的数据项的个数相等E . 数据的逻辑结构与数据元素本身的内容和形式无关F . 数据结构是指相互之间存在一种或多种关系的数据元素的全体答案:B,C,E解析:10 . 线性表的特点正确的()A . 存在唯一的一个被称作”第一个“的数据元素。
海南省考研计算机科学与技术复习资料数据结构常考知识点
海南省考研计算机科学与技术复习资料数据结构常考知识点海南省考研计算机科学与技术复习资料——数据结构常考知识点一、线性表线性表是数据结构中最基本的一种结构,常见的线性表有顺序表和链表两种。
1. 顺序表顺序表是用一段地址连续的存储单元依次存储线性表的数据元素,具有随机访问和插入删除效率较低等特点。
2. 链表链表是用一组任意的存储单元存储线性表的数据元素,通过指针将各个节点链接起来,具有插入删除效率高的特点。
二、栈和队列栈和队列都是基于线性表的数据结构。
1. 栈栈是一种具有特殊操作限制的线性表,只能在栈顶进行插入和删除操作,满足后进先出(LIFO)的原则。
2. 队列队列是一种具有特殊操作限制的线性表,只能在队尾插入元素,在队头删除元素,满足先进先出(FIFO)的原则。
三、树和二叉树树是一种非线性的数据结构,常见的树结构有二叉树、二叉搜索树、平衡二叉树等。
1. 二叉树二叉树是每个节点最多只有两个子节点的树结构,可以是空树,也可以是只有根节点的树。
2. 二叉搜索树二叉搜索树是一种特殊的二叉树,对于每个节点,左子树中的节点值都小于该节点,右子树中的节点值都大于该节点。
3. 平衡二叉树平衡二叉树是一种特殊的二叉搜索树,它的左右子树的高度差不超过1,以保证查找、插入和删除的效率。
四、图图是一种非线性的数据结构,由节点和边构成,常用的图结构有有向图和无向图。
1. 有向图有向图中的边是有方向的,表示节点之间的单向关系。
2. 无向图无向图中的边没有方向性,表示节点之间的双向关系。
五、排序算法排序算法是对一组数据按照某种规则进行排序的算法,常见的排序算法有冒泡排序、插入排序、选择排序、快速排序等。
六、查找算法查找算法是在一组数据中查找指定元素的算法,常见的查找算法有顺序查找、二分查找、哈希查找等。
七、图算法图算法是解决图结构中的问题的算法,常见的图算法有广度优先搜索(BFS)、深度优先搜索(DFS)、最短路径算法等。
综上所述,以上是海南省考研计算机科学与技术复习资料中数据结构常考的知识点。
数据结构与C语言综合训练习题集
数据结构与C语言综合训练习题集序号项目名称任务描述设计要求每组学生人数1.订票系统任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:确定航班是否满仓);可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;2.用Haffman编码压缩文件准备一个文件,统计该文件中各种字符的频率,对各字符进行Huffman编码,将该文件翻译成Huffman编码文件,再将Huffman编码文件翻译成源文件。
3.统计C程序中关键字的频率扫描一个C源程序,用Hash表存储该程序中出现的关键字,并统计该程序中的关键字出现频度。
用线性探测法解决Hash冲突。
设Hash函数为:Hash(key)=[(key的第一个字母序号)*100+(key的最后一个字母序号)] MOD 374.商品管理系统以链表结构的有序表表示某商场家电部的库存模型,当有提货或进货时需要对该链表及时进行维护,每个工作日结束以后,将该链表中的数据以文件形式保存,每日开始营业之前,须将文件形式保存的数据恢复成链表结构的有序表。
链表结构的数据域包括家电名称、品牌、单价和数量,以单价的升序体现链表的有序性。
程序功能包括:初始化、创建表、插入、删除、更新数据、查询及链表数据与文件之间的转换等。
5.排序算法效率比较编程实现插入、希尔、快速、堆排序、归并排序算法,并计算每种算法的比较、交换次数。
将待排数据从磁盘文件读入,实施排序后将数据写入另一个文件中。
海南大学数据结构复习
一、判断题:20分(10题,2分/每题)二、填空题:12分(8空,1.5分/每空)三、单选题:32分(16题,2分/每题)四、完善各算法代码:20分(4题,5分/每题)五、分析题:16分(2题,8分/每题)一、判断题(20分,2分/每题)/填空题(12分,1.5/每空)/单选题(32分,2分/每题)1.顺序存储方式能用于存什么结构的数据?顺序存储结构所有元素存放在一片连续的存储单元中,逻辑上相邻的元素存放到计算机内存仍然相邻链式存储结构所有元素存放在可以不连续的存储单元中,但元素之间的关系可以通过地址确定,逻辑上相邻的元素存放到计算机内存后不一定是相邻的2.数据结构是研究什么的学科?数据结构处理的最小单位是什么?数据结构是一门研究“非数值计算的程序设计问题中”计算机的操作对象+关系+ 操作等的学科。
数据项(Data Item )是数据结构中处理的最小单位。
3.什么叫二叉树?有什么特点?“左孩子- 右兄弟”方式在树结构中的意义是什么?二叉树是一个由有限结点构成的集合,它可能为空或者包含一个根节点和两棵不相交的二叉树,这两棵子树分别称为它的左子树和右子树。
二叉树与树的区别:树不能为空,二叉树可以;在树中不关心孩子的顺序,二叉树区分孩子的顺序。
4.什么叫算法的复杂度?它包括什么内容?复杂度如何表示?算法是为了解决某类问题而规定的一个有限长的操作序列时间特性(时间复杂度T(n) )空间特性(空间复杂度S(n) )5.数据结构中什么是“逻辑结构”与“物理结构”,两者间的关系是什么?逻辑结构:是对数据元素之间的逻辑关系S的描述。
它可以用一个数据元素的集合D和定义在此集合上的若干关系S来表示;物理结构:是逻辑结构在计算机中的表示和实现,故又称“存储结构”。
即:逻辑结构在存储器中的映象6.最小代价生成树中的“克鲁斯卡尔”、“普里姆”和“索林”的贪心算法思想是什么?克鲁斯卡尔算法(适用于既密也可疏的网络):通过每次向T中添加一条边来构造最小代价生成树T。
2014年海南省C++答案 数据结构试卷及答案(必备资料)
C.栈的操作方式是先进先出
D.队列的操作方式是先进后出
41、若进栈序列为1,2,3,4,则不可能得到的出栈序列是( C )。
A)3,4,1
42、栈采用不同的存储方式时,下列关于出栈过程的叙述中,正确的是
A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
D.在单链表最后一个元素后插入一个新元素
35、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
D 存储方式最节省运算时间。
A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表
20、与单链表相比,双链表的优点之一是 D 。
A.插入、删除操作更简单
B.可以进行随机访问
C.可以省略表头指针或表尾指针
D.顺序访问相邻结点更灵活
A.顺序栈需要判定栈空,链栈也需要判定
B.顺序栈需要判定栈空,而链栈不需要判定
C.顺序栈不需要判定栈空,而链栈需要判定
D.顺序栈不需要判定栈空,链栈也不需要判定
43、与单链表相比,双链表的优点之一是 D 。
A.插入、删除操作更简单
B.可以进行随机访问
C.可以省略表头指针或表尾指针
C.s->next = p;s->prior = p->prior;p->prior = s;p->prior->next = s
D.s->next = p;s->prior = p->prior;p->prior->next = s;p->prior = s
2014-2015B学年二学期数据结构期末考试试卷(A卷)
3.试编写算法,将一个用循环链表表示的稀疏多项式分解成两个多项式,使这两个多项式中各自仅含奇次项或者偶次项,并要求利用原链表中的结点空间构成这两个链表。
4.试利用循环队列编写k阶斐波那契序列中前n+1项(f0,f1,…,fn)的算法,要求满足:
A、(n-1)/2 B、n C、n+1 D、n-1
E、n/2 F、(n+1)/2 G、(n-2)/2
2.下面的叙述不正确的是
A、线性表在链式存储时,查找第i个元素的时间同i的值成正比
B、线性表在链式存储时,查找第i个元素的时间同i的值无关
C、线性表在顺序存储时,查找第i个元素的时间同i的值成正比
D、线性表在顺序存储时,查找第i个元素的时间同i的值无关
1.线性表(a1,a2,…,an)用顺序映射表示时,ai和ai+1(1<=i<n〉的物理位置相邻吗?链接表示时呢?
2.如何通过改链的方法,把一个单向链表变成一个与原来链接方向相反的单向链表?
3.如果已知森林的前序序列和后序序列分别为ABCDEFIGJH和BDCAIFJGHE,请画出该森林
4.数据结构与数据类型有什么区别?
A、top==0 B、top==1 C、top==-1 D、top==m
10.串是一中特殊的线性表,其特殊性体现在。
A、可以顺序存储B、数据元素是一个字符
C、可以链接存储D、数据元素可以是多个字符
11.设树T的高度为4,其中度为l、2、3和4的结点个数分别为4、2、1、1,则T中的叶子数为
A、5 B、6 C、7 D、8
3.在作进栈运算时,应先判别栈是否(①),在作退栈运算时应先判别栈是否(②)。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为(③)。
2014海南省数据库入门深入
1、假设K1,…,Kn是n个关键词,试解答:试用二叉查找树的插入算法建立一棵二叉查找树,即当关键词的插入次序为K1,K2,…,Kn 时,用算法建立一棵以LLINK / RLINK 链接表示的二叉查找树。
2、编程实现单链表的就地逆置。
23.在数组 A[1..n]中有n个数据,试建立一个带有头结点的循环链表,头指针为h,要求链中数据从小到大排列,重复的数据在链中只保存一个.3、假设以I和O分别表示入栈和出栈操作。
栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。
(15分)(1)下面所示的序列中哪些是合法的?A. IOIIOIOOB. IOOIOIIOC. IIIOIOIOD. IIIOOIOO(2)通过对(1)的分析,写出一个算法,判定所给的操作序列是否合法。
若合法,返回true,否则返回false(假定被判定的操作序列已存入一维数组中)。
4、设一棵二叉树的结点结构为 (LLINK,INFO,RLINK),ROOT为指向该二叉树根结点的指针,p 和q分别为指向该二叉树中任意两个结点的指针,试编写一算法ANCESTOR(ROOT,p,q,r),该算法找到p和q的最近共同祖先结点r。
5、数组A和B的元素分别有序,欲将两数组合并到C数组,使C仍有序,应将A和B拷贝到C,只要注意A和B数组指针的使用,以及正确处理一数组读完数据后将另一数组余下元素复制到C中即可。
void union(int A[],B[],C[],m,n)//整型数组A和B各有m和n个元素,前者递增有序,后者递减有序,本算法将A和B归并为递增有序的数组C。
{i=0; j=n-1; k=0;// i,j,k分别是数组A,B和C的下标,因用C描述,下标从0开始while(i<m && j>=0)if(a[i]<b[j]) c[k++]=a[i++] else c[k++]=b[j--];while(i<m) c[k++]=a[i++];while(j>=0) c[k++]=b[j--];}算法结束4、要求二叉树按二叉链表形式存储。
数据结构复习资料(题目和参考答案)
数据结构复习题及参考答案(抽考其中50%)一、单选题(每小题1分)1.下列程序段的时间复杂度为(A )。
for(i=0; i<m ; i++)for(j=0; j<t ; j++) c[i][j]=0;for(i=0; i<m ; i++)for(j=0; j<t ; j++)for(k=0; k<n ; k++)c[i][j]=c[i][j]+a[i][k]*b[k][j];(A) O(m*n*t) (B) O(m+n+t) (C) O(m+n*t) (D) O(m*t+n)2.下列程序段的时间复杂度为(A )。
i=0,s=0;while (s<n) {s=s+i ;i++;}(A) O(n 1/2) (B) O(n 1/3) (C) O(n) (D) O(n 2)3.设顺序表中有n 个数据元素,则删除表中第i 个元素需要移动(A )个元素。
(A) n-i (B) n+l-i (C) n-1-i (D) i4.设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列(D )存储方式最节省运算时间。
(A) 单向链表 (B) 单向循环链表(C) 双向链表 (D) 双向循环链表5.设F 是由1T 、2T 和3T 三棵树组成的森林,与F 对应的二叉树为B ,1T 、2T 和3T 的结点数分别为1n 、2n 和3n ,则二叉树B 的根结点的左子树的结点数为(A )。
(A) 11n - (B) 21n - (C) 23n n + (D) 13n n +6.设指针q 指向单链表中结点A ,指针p 指向单链表中结点A 的后继结点B ,指针s 指向被插入的结点X ,则在结点A 和结点B 插入结点X 的操作序列为(B )。
(A) s->next=p->next ;p->next=-s ; (B) q->next=s ; s->next=p ;(C) p->next=s->next ;s->next=p ; (D) p->next=s ;s->next=q ;7.利用直接插入排序法的思想建立一个有序线性表的时间复杂度为(C )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)40
2、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
A)4 B)5
C)6 D)7
3、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
4、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
5、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)top不变 B)top=0 C)top-- D)top++
6、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
7、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。
A)3,2,5,6,4,1 B)1,5,4,6,2,3
C)2,4,3,5,1,6 D)4,5,3,6,2,1
8、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
C)p->next=s->next; s->next=p D)p->next=s; s->next=q;
9、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A)上三角矩阵 B) 稀疏矩阵
C) 对角矩阵 D) 对称矩阵
10、下列各种数据结构中属于线性结构的有( A )。
A)栈 B) 二叉树
C) 广义表 D) 图
11、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用顺序存储,便于进行插入和删除操作。
12、链式存储的存储结构所占存储空间( A )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
B)只有一部分,存放结点值
C)只有一部分,存储表示结点间关系的指针
D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
13、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
14、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
15、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
A)4 B)5
C)6 D)7。