数据结构-综合题
数据结构综合复习题
∑∑∑====n 1i n 1j 3n 1k n 162)1)(n n(n 21)n(n 2161)1)(2n n(n 21 i 21i 2121)i(i j 1n 1i n1i n 1i 2n 1i i 1j n 1i i 1j j 1k ++=++++==+=⎪⎭⎫ ⎝⎛+==∑∑∑∑∑∑∑∑========第一章 综合练习2.什么是数据结构? 有关数据结构的讨论涉及哪三个方面?【解答】数据结构是指数据以及相互之间的关系。
记为:数据结构 = { D, R }。
其中,D 是某一数据对象,R 是该对象中所有数据成员之间的关系的有限集合。
有关数据结构的讨论一般涉及以下三方面的内容:① 数据成员以及它们相互之间的逻辑关系,也称为数据的逻辑结构,简称为数据结构; ② 数据成员及其关系在计算机存储器内的存储表示,也称为数据的物理结构,简称为存储结构;③ 施加于该数据结构上的操作。
数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储不是一码事,是与计算机存储无关的。
因此,数据的逻辑结构可以看作是从具体问题中抽象出来的数据模型,是数据的应用视图。
数据的存储结构是逻辑数据结构在计算机存储器中的实现(亦称为映像),它是依赖于计算机的,是数据的物理视图。
数据的操作是定义于数据逻辑结构上的一组运算,每种数据结构都有一个运算的集合。
例如搜索、插入、删除、更新、排序等。
5.设n 为正整数, 分析下列各程序段中加下划线的语句的程序步数。
(1) for (int i=1;i<=n ;i++)for (int j=1;j<=n ;j++){ c[i][j]=0.0;for (int k=1;k<=n ;k++)c[i][j]=c[i][j]+a[i][k]*b[k][j];}(2) x=0; y=0;for (i=1;i<=n ;i++)for (j=1;j<=i ;j++)for (k=1;k<=j ;k++)x=x+y ;(3) i=1; j=1;while (i<=n&&j<=n){ i=i+1; j=j+i ; }(4) i=1;do {for (j=1;j<=n ;j++) i=i+j ;} while (i<100+n);【解答】(1) (2)n j 1n j 1n(n 1)x 1 i 1j 12n(n 1)n(n 1)n(n 1)n(n 1)x 2 i 1j 1122222==+==+=+++++⎛⎫⎛⎫⎛⎫==++=++=+ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭∑∑次数时,时,n j 1n(n 1)n(n 1)x 3, i 12j 1322=⎛+⎫+⎛⎫⎛⎫==++=+ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭∑时(3) i = 1时,i = 2,j = j + i = 1 + 2 = 2 + 1,i = 2时,i = 3,j = j + i = ( 2 + 1 ) + 3 = 3 + 1 + 2,i = 3时,i = 4,j = j + i = ( 3 + 1 + 2 ) + 4 = 4 + 1 + 2 + 3,i = 4时,i = 5,j = j + i = ( 4 + 1 + 2 + 3 ) + 5 = 5 + 1 + 2 + 3 + 4,……i = k 时,i = k + 1,j = j + i = ( k + 1 ) + ( 1 + 2 + 3 + 4 + … + k ),解出满足上述不等式的k 值,即为语句i = i + 1的程序步数。
《数据结构》综合练习
综合练习一、单项选择题1.数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为(C ).A.存储结构B。
逻辑结构C.链式存储结构D。
顺序存储结构2.设语句x++的时间是单位时间,则以下语句的时间复杂度为( B ).for(i=1; i<=n; i++)for(j=i;j〈=n;j++)x++;A。
O(1) B.O(2n)C。
O(n) D.O(3n)3.链式存储结构的最大优点是( D )。
A。
便于随机存取B。
存储密度高C.无需预分配空间D.便于进行插入和删除操作4.假设在顺序表{a0,a1,……,a n-1}中,每一个数据元素所占的存储单元的数目为4,且第0个数据元素的存储地址为100,则第7个数据元素的存储地址是( D ).A。
106 B. 107 C。
124 D.1285.在线性表中若经常要存取第i个数据元素及其前趋,则宜采用( A )存储方式.A.顺序表B. 带头结点的单链表C。
不带头结点的单链表 D. 循环单链表6.在链表中若经常要删除表中最后一个结点或在最后一个结点之后插入一个新结点,则宜采用( C )存储方式。
A.顺序表B。
用头指针标识的循环单链表C。
用尾指针标识的循环单链表D。
双向链表7.在一个含有n个结点的有序单链表中插入一个新结点,使单链表仍然保持有序的算法的时间复杂度是( C )。
O(1) B。
O(log2n) C。
O(n) D。
O(n2)8.要将一个顺序表{a0,a1,……,a n—1}中第i个数据元素a i(0≤i≤n—1)删除,需要移动( B )个数据元素。
A.i B。
n—i-1 C. n-i D. n—i+19.在栈中存取数据的原则是( B )。
A。
先进先出 B。
先进后出C。
后进后出 D。
没有限制10.若将整数1、2、3、4依次进栈,则不可能得到的出栈序列是( D )。
A.1234 B. 1324 C. 4321 D. 142311.在链栈中,进行出栈操作时(B )。
数据结构(本)期末综合练习(2022年6月)
数据结构(本)期末综合练习(2022年6月)期末综合练习一一、单项选择题1.深度为5的完全二叉树共有20个结点,则第5层上有()个结点(根所在结点为第一层)。
A.3B.8C.5D.62.同一种逻辑结构()。
A.只能有唯一的存储结构B.可以有不同的存储结构C.只能表示某一种数据元素之间的关系D.以上三种说法均不正确3.已知一个图的边数为m,则该图的所有顶点的度数之和为()。
A.2mB.mC.2m+1D.m/24.链表所具备的特点是()。
A.可以随机访问任一结点B.占用连续的存储空间C.插入删除元素的操作不需要移动元素结点D.可以通过下标对链表进行直接访问5.数据结构中,与所使用的计算机无关的是数据的()结构。
A.物理B.存储C.逻辑与物理D.逻辑6.数据的物理结构()。
A.与数据的逻辑结构无关B.仅仅包括数据元素的表示C.只包括数据元素间关系的表示D.包括数据元素的表示和关系的表示7.链表所具备的特点是()。
A.可以随机访问任一结点B.占用连续的存储空间C.插入删除不需要移动元素结点D.可以通过下标对链表进行直接访问8.线性结构中数据元素的位置之间存在()的关系。
A.一对一B.一对多C.多对多D.每一个元素都有一个直接前驱和一个直接后继9.线性表只要以()方式存储就能进行折半查找。
A.链接B.顺序C.关键字有序的顺序D.二叉树10.以下表中可以随机访问的是()。
A.单向链表B.双向链表C.单向循环链表D.顺序表11.散列查找的原理是()。
A.在待查记录的关键字值与该记录的存储位置之间建立确定的对应关系B.按待查记录的关键字有序的顺序方式存储C.按关键字值的比较进行查找D.基于二分查找的方法12.算法的时间复杂度与()有关。
A.所使用的计算机B.与计算机的操作系统C.与算法本身D.与数据结构13.对n个元素进行冒泡排序若某趟冒泡中只进行了()次元素间的交换,则表明序列已经排好序。
A.1B.2C.0D.n-114.设有一个长度为n的顺序表,要删除第i个元素需移动元素的个数为()。
数据结构习题及答案
数据结构习题习题一一、选择题1、数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的(B)和运算的学科。
A.结构B.关系C.运算D.算法2、在数据结构中,从逻辑上可以把数据结构分成(C)。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.逻辑结构和存储结构3、线性表的逻辑顺序和存储顺序总是一致的,这种说法(B)。
A.正确B.不正确C.无法确定D.以上答案都不对4、算法分析的目的是(C)。
A.找出算法的合理性B.研究算法的输人与输出关系C.分析算法的有效性以求改进D.分析算法的易懂性二、填空题1、数据是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,数据是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。
例如,数学中所用到的整数和实数,文本编辑所用到的字符串等。
2、数据元素是数据的基本单位,有些情况下也称为元素、结点、顶点、记录等。
3、数据项是数据不可分割的最小单元,是具有独立含义的最小标识单位。
例如构成一个数据元素的字段、域、属性等都可称之为_数据项。
4、简而言之,数据结构是数据之间的相互关系,即数据的组织形式。
5、数据的逻辑结构是指数据之间的逻辑关系。
逻辑结构是从逻辑关系上描述数据,它与具体存储无关,是独立于计算机的。
因此逻辑结构可以看作是从具体问题抽象出来的数学模型。
6、数据的存储结构指数据元素及其关系在计算机存储器内的表示。
存储结构是逻辑结构在计算机里的实现,也称之为映像。
7、数据的运算是指对数据施加的操作。
它定义在数据的逻辑结构之上,每种逻辑结构都有一个数据的运算。
常用的有:查找、排序、插人、删除、更新等操作。
8、数据逻辑结构可以分为四种基本的类型,集合结构中的元素除了仅仅只是同属于一个集合_,不存在什么关系。
9、数据逻辑结构的四种基本类型中,线性结构_中的元素是一种一对一的关系,这种结构的特征是:若结构是非空集,则有且只有一个开始结点和一个终端结点,并且所有结点最多只能有一个直接前驱和一个直接后继。
数据结构本期末综合测试
精心整理数据结构(本)期末综合练习综合练习一一、单项选择题1, 2B.一种逻辑结构只能有唯一的存储结构C. 一种逻辑结构可以有不同的存储结构D.线性表的顺序存储结构必须占用连续的存储空间4.在一个单向链表中,在p所指结点之后插入一个s所指的结点时,可执行();和p->next=s;A.p= s; B. p->next=s->next;C.p=s->next; D. s->next=p->next;56)。
7C.插入元素的操作不需要移动元素 D.删除元素的操作需要移动元素8.设一棵有8个叶结点的二叉树,度数为1的结点有3个,则该树共有()个结点。
A.20 B.18 C.17 D.169.图状结构中数据元素的位置之间存在()的关系。
A.一对一 B.多对多C.一对多 D.每一个元素都有一个直接前驱和一个直接后继))(C. DABCC D .FAbcC13.设有一个14阶的对称矩阵A(第一个元素为a1,1),采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a4,3在一维数组B中的下标是()。
A.9 B.10 C.11 D.8 14.元素111,113,115,117按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。
A.117,115,113,111 B.111,113,115,1171,1其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a4,2在一维数组B中的下标是()。
A.9 B.8 C.7 D.1019.如图1所示的一个图,若从顶点a出发,按深度优先搜索法进行遍历,则可能得20能________。
图23.________结构中,数据元素间存在一对多的关系。
4. 对16个元素的序列用冒泡排法进行排序,通常需要进行________趟冒泡。
5.对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的三项信息是____ ___。
国家开放大学《数据结构(本)》综合练习题参考答案
A. 111,113,115,117 B. 117,115,111,113 C. 117,115,113,111 D. 113,111,117,115 11.图状结构中数据元素的位置之间存在( )的关系。 A. 每一个元素都有一个且只有一个直接前驱和一个直接后继 B. 多对多 C. 一对一 D. 一对一 12.以下说法正确的是( )。 A. 栈和队列的特点都是后进后出 B. 队列的特点是先进后出 C. 栈的特点是先进先出 D. 栈的特点是先进后出 13.一个单链表中,在 p 所指结点之后插入一个 s 所指的结点时,可执行: s->next=p->next;和( )。 A. s=p->next; B. p=s->next;
国家开放大学《数据结构(本)》综合练习题参考答案
一、填空题 1.对稀疏矩阵进行压缩存储,可采用三元组表,一个有 10 行的稀疏矩阵 A 共有 97 个零元素,其相应的三元组表共有 3 个元素。该矩阵 A 有(10)列。 2.结构中的数据元素存在多对多的关系称为(图状)结构。 3.在单向链表中,q 指向 p 所指结点的直接后继结点,要删除 q 所指结点,可以 用操作(p->next;)= q->next;。 4.n 个元素进行冒泡法排序,第 j 趟冒泡要进行(n-j)次元素间的比较。 5.对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的行 下标、列下标和(数组元素)三项信息。 6.中序遍历(二叉排序树)树可得到一个有序序列。 7.队列的操作特点是后进(后出)。 8.待排序的序列为 8,3,4,1,2,5,9,采用直接选择排序算法,当进行了两 趟选择后,结果序列为(1,2,4,8,3,5,9)。 9.n 个元素进行冒泡法排序,通常需要进行(n-1)趟冒泡。 10.广义表((a,b),d,e((i,j),k))的长度是(4) 。 11.中序遍历二叉排序树可得到一个(有序)的序列。 12.广义表的(c,a,(a,b),d,e,((i,j),k))深度是(3)。 13.广义表(c,a,(a,b),d,e,((i,j),k))的长度是(6)。 14.对稀疏矩阵进行压缩存储,可采用三元组表,一个有 10 行 10 列的稀疏矩阵 A 共有 95 个零元素,其相应的三元组表共有(5)个元素。 15.广义表的(c,a,(a,b),d,e,((i,j),k))深度是(3)。 16.在对一组记录(50,49,97,22,16,73,65,47,88)进行直接插入排序 时,当把第 7 个记录 65 插入到有序表时,为寻找插入位置需比较(3)次。 17. 循 环 队 列 在 规 定 少 用 一 个 存 储 空 间 的 情 况 下 , 队 空 的 判 定 条 件 为 (front==rear)。 18.一棵有 5 个叶结点的哈夫曼树,该树中总共有(9)个结点。 19.c 语言中,字符串“E”存储时占(2)个字节。
数据结构综合题
四、综合题2、简述下列概念:数据、数据元素、数据类型、数据结构、逻辑结构、存储结构、线性结构、非线性结构。
●数据:指能够被计算机识别、存储和加工处理的信息载体。
●数据元素:就是数据的基本单位,在某些情况下,数据元素也称为元素、结点、顶点、记录。
数据元素有时可以由若干数据项组成。
●数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。
通常数据类型可以看作是程序设计语言中已实现的数据结构。
●数据结构:指的是数据之间的相互关系,即数据的组织形式。
一般包括三个方面的内容:数据的逻辑结构、存储结构和数据的运算。
●逻辑结构:指数据元素之间的逻辑关系。
●存储结构:数据元素及其关系在计算机存储器内的表示,称为数据的存储结构.●线性结构:数据逻辑结构中的一类。
它的特征是若结构为非空集,则该结构有且只有一个开始结点和一3、常用的存储表示方法有哪几种? 答:常用的存储表示方法有四种:●顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。
由此得到的存储表示称为顺序存储结构,通常借助程序语言的数组描述。
●链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示。
由此得到的存储表示称为链式存储结构,通常借助于程序语言的指针类型描述。
●索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。
组成索引表的索引项由结点的关键字和地址组成。
若每个结点在索引表中都有一个索引项,则该索引表称之为稠密索引(Dense Index)。
若一组结点在索引表中只对应一个索引项,则该索引表称为稀疏索引。
●散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址15、简述栈和线性表的差别。
解:线性表是具有相同特性的数据元素的一个有限序列。
栈是限定仅在表尾进行插入或删除操作的线性表。
17、简述队列和堆栈这两种数据类型的相同点和差异处。
数据结构(本)期末综合练习
数据结构(本)期末综合练习综合练习一一、单项选择题1.设有头指针为head的带有头结点的非空单向循环链表, 指针p指向其尾结点, 要删除头结点,并使其仍为单向循环链表,则可利用下述语句head =head->next ;()。
A.p =head; B.p=NULL; C.p->next =head; D.head=p;2.在一个单链表中p指向结点a, q指向结点a的直接后继结点b,要删除结点b,可执行()。
A.p->next=q->next ; B.p=q->next;C.p->next=q; D.p->next=q;3. 以下说法不正确的是A. 线性表的链式存储结构不必占用连续的存储空间B.一种逻辑结构只能有唯一的存储结构C. 一种逻辑结构可以有不同的存储结构D.线性表的顺序存储结构必须占用连续的存储空间4.在一个单向链表中,在p所指结点之后插入一个s所指的结点时,可执行();和p->next=s;A.p= s; B. p->next=s->next;C.p=s->next; D. s->next=p->next;5.把数据存储到计算机中,并具体体现( )称为物理结构。
A. 数据元素间的逻辑关系B.数据的处理方法C.数据的性质D.数据的运算6.设有一个长度为23的顺序表,要删除第8个元素需移动元素的个数为()。
A.16 B.14 C.15 D.137.链表所具备的特点之一是()。
A.可以随机访问任一结点 B.需要占用连续的存储空间C.插入元素的操作不需要移动元素 D.删除元素的操作需要移动元素8.设一棵有8个叶结点的二叉树,度数为1的结点有3个,则该树共有()个结点。
A.20 B.18 C.17 D.169.图状结构中数据元素的位置之间存在()的关系。
A.一对一 B.多对多C.一对多 D.每一个元素都有一个直接前驱和一个直接后继10.一棵具有5层的完全二叉树,最后一层有4个结点,则该树总共有()个结点。
数据结构综合试题及答案
一、单选题(每题 2 分,共20分)1.栈和队列的共同特点是( A )。
A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时( D ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?( D )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
( C )A.688 B.678 C.692 D.6965.树最适合用来表示( C )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( D ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( C D)A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为( C )A. O(1)B. O(n)C. O(1og2n)D. O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有( D )个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( A )条边才能确保是一个连通图。
A.5B.6C.7D.8二、填空题(每空1分,共10分)1.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为____O(n)____。
数据结构综合习题集(含答案)
数据结构习题集一、选择题1.数据结构中所定义的数据元素,是用于表示数据的。
(C)A.最小单位B.最大单位C.基本单位D.不可分割的单位2.从逻辑上可以把数据结构分为(C)A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构3.当待排序序列中记录数较少或基本有序时,最适合的排序方法为(A )A.直接插入排序法B.快速排序法C.堆排序法D.归并排序法4.关于串的的叙述,不正确的是( B)A.串是字符的有限序列B.空串是由空格构成的串C.替换是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储5.带表头结点链队列的队头和队尾指针分别为front和rear,则判断队空的条件为(A )A.front==rear B.front!=NULL C.rear!=NULL D.front==NULL6.若构造一棵具有n个结点的二叉排序树,最坏的情况下其深度不会超过(B)A.n/2B.nC.(n+1)/2D.n+17.将两个各有n个元素的有序表合并成一个有序表,其最少的比较次数为(A)A.nB.2n-1C.2nD.n28.设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为(B )A.236B.239C.242D.2459.一个栈的入栈序列是a,b,c,d,e,则栈的输出序列不可能是(A )A.dceabB.decbaC.edcbaD.abcde10.元素大小为1个单元,容量为n个单元的非空顺序栈中,以地址高端为栈底,以top作为栈顶指针,则出栈处理后,top的值应修改为(D )A.top=topB.top=n-1C.top=top-1D.top=top+111.设有一个10阶的对称矩阵A,采用压缩存储方式以行序为主序存储,a00为第一个元素,其存储地址为0,每个元素占有1个存储地址空间,则a45的地址为(B)A.13B.35C.17D.3612.栈和队列( C )A.共同之处在于二者都是先进先出的特殊的线性表B.共同之处在于二者都是先进后出的特殊的线性表C.共同之处在于二者都只允许在顶端执行删除操作D.没有共同之处13.含有n个结点的二叉树用二叉链表表示时,空指针域个数为(C )A.n-1B.nC.n+1D.n+214.对一棵有100个结点的完全二叉树按层序编号,则编号为49的结点,它的左孩子的编号为(B)A.99B.98C.97D.5015.在一个图中,所有顶点的度数之和与图的边数的比是( C)A.1∶2B.1∶1C.2∶1D.4∶116.在一个具有n个顶点的无向图中,要连通全部顶点至少需要的边数为(A )A.n-1B.nC.n+1D.n/217.在一个具有n个顶点的无向图中,每个顶点度的最大值为( B )A.nB.n-1C.n+1D.2(n-1)18.若采用邻接表存储结构,则图的广度优先搜索类似于二叉树的(D)A.先序遍历B.中序遍历C.后序遍历D.层次遍历19.对线性表进行二分查找时,要求线性表必须( C)A.以顺序方式存储B.以链式方式存储C.以顺序方式存储,且结点按关键字有序排列D.以链接方式存储,且结点按关键字有序排列20.二分查找算法的时间复杂度是(D)A.O(n2)B.O(nlog2n)C.O(n)D.O(log2n)21.采用排序算法对n个元素进行排序,其排序趟数肯定为n-1趟的排序方法是(C)A.插入和快速B.冒泡和快速C.选择和插入D.选择和冒泡22. 闭散列表中由于散列到同一个地址而引起的“堆积”现象,是( B)A.由同义词之间发生冲突引起的B.由非同义词之间发生冲突引起的C.由同义词之间或非同义词之间发生冲突引起的D.由散列表“溢出”引起的23.在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。
数据结构(本科)期末综合练习二(填空与判断题)剖析
数据结构(本科)期末综合练习二(填空与判断题)填空题1. 数据是__信息__的载体,它能够被计算机程序识别、存储和加工处理。
2. 数据结构包括逻辑结构、__存储结构__和数据的运算三个方面。
3. 数据结构的逻辑结构包括线性结构和__非线性__结构两大类。
4. 数据结构的存储结构包括顺序、__链接___、索引和散列等四种。
5. 基本数据类型是计算机已经实现了的_数据结构__。
6. 抽象数据类型的特点是__数据封装__、信息隐蔽、使用与实现分离。
7. 算法的一个特性是__有穷性__,即算法必须执行有限步就结束。
8. 面向对象的特征应包括对象、类、__继承__、消息通信。
9. 属性与服务相同的对象构成类,类中的每个对象称为该类的__实例__。
10. 对象的私有状态只能通过该对象的__操作(或服务)_才能改变。
11. 模板类是一种数据抽象,它把__数据类型_当作参数,可以实现类的复用。
12. 在类的继承结构中,位于上层的类叫做基类,其下层的类则叫做__派生(或子)__类。
13. 一维数组所占用的空间是连续的。
但数组元素不一定顺序存取,通常是按元素的__下标(或顺序号)__存取的。
14. 在程序运行过程中不能扩充的数组是__静态__分配的数组。
这种数组在声明它时必须指定它的大小。
15. 在程序运行过程中可以扩充的数组是__动态___分配的数组。
这种数组在声明它时需要使用数组指针。
16. 二维数组是一种非线性结构,其中的每一个数组元素最多有__两个__个直接前驱(或直接后继)。
17. 若设一个n n的矩阵A的开始存储地址LOC(0, 0) 及元素所占存储单元数d已知,按行存储时其任意一个矩阵元素a[i][j]的存储地址为__ LOC(0,0)+(i*n+j)*d__。
18. 对称矩阵的行数与列数__相等_且以主对角线为对称轴,a ij = a ji,因此只存储它的上三角部分或下三角部分即可。
19. 将一个n阶对称矩阵的上三角部分或下三角部分压缩存放于一个一维数组中,则一维数组需要存储__n(n+1)/2 _个矩阵元素。
数据结构考试题及答案
数据结构考试题及答案一、选择题1. 下列哪种数据结构是一种线性结构?A. 树B. 栈C. 图D. 队列答案:B. 栈2. 以下哪种不是二叉树的遍历方式?A. 先序遍历B. 层序遍历C. 后序遍历D. 中序遍历答案:B. 层序遍历3. 在队列中,哪种操作不是O(1)时间复杂度的?A. 入队B. 出队C. 判空D. 获取队首元素答案:D. 获取队首元素二、填空题4. 二叉查找树的中序遍历结果为_______。
答案:升序排列的序列5. 栈的特点是_______进,_______出。
答案:后进,先出6. 图中两点间存在边则称它们为_______。
答案:邻接点三、简答题7. 请简要介绍一下栈和队列的应用场景及区别。
答:栈和队列都是常用的数据结构,栈适合用于实现括号匹配、表达式求值等场景,而队列常用于实现广度优先搜索、缓存队列等。
栈是一种后进先出的数据结构,而队列是一种先进先出的数据结构。
8. 什么是哈希表?它的优缺点分别是什么?答:哈希表是一种通过哈希函数将关键字映射到数组位置的数据结构。
其优点是能够快速查找、插入、删除元素,时间复杂度接近O(1);缺点是可能发生哈希冲突,导致性能下降。
四、综合题9. 给定以下无向图的邻接矩阵表示,请写出图的深度优先搜索(DFS)遍历路径。
```0 1 2 30 0 1 0 11 1 0 1 12 0 1 0 13 1 1 1 0```答:起始节点为0,路径:0 - 1 - 3 - 210. 写出以下树的层序遍历结果。
```1/ \2 3/ \ / \4 5 6 7```答:1 - 2 - 3 - 4 - 5 - 6 - 7以上就是数据结构考试题及答案,希望对您有所帮助。
如果有不清楚的地方,欢迎随时向老师询问。
祝您考试顺利!。
数据结构综合题参考答案
数据结构综合题参考答案数据结构综合题部分参考答案(仅供参考)⼀、填空1、⼀个算法的效率可分为_____时间_________效率和______空间________效率。
,2、栈的特点是_____先进后出______,队列的特点是_____先进先出________。
、3、在线性表的顺序存储结构中,若每个元素占L个存储单元,则第i个元素ai的存储位置为LOC(ai)=LOC(a1)+ ____(i-1)*L________。
4、已知⼀棵完全⼆叉树共139个结点,按照层次从左到右进⾏编号,根结点编号为1,则编号为60的左孩⼦编号为_____120_________右孩⼦编号为____121__________双亲编号为____30__________。
、、5、已知P为单链表中的⾮⾸尾结点,在P结点后插⼊S结点的语句为:__ s->next=p->next; p-next=s;___。
6、在各种查找⽅法中,平均查找长度与结点个数n⽆关的查法⽅法是______哈希表查找法________。
7、算法时间复杂度的分析通常有两种⽅法,即__事后统计_________和___事前估计________的⽅法,通常我们对算法求时间复杂度时,采⽤后⼀种⽅法。
8、已知元素序列E,F,G,H,I,J,K,L,M,N经过操作XXYXXYXYXYYXXYXYYYXY以后的出栈序列(注X表⽰⼊栈,Y表⽰出栈)_____ FHIJGLMKEN _________。
9、设数组A[1..10,1..8]的基地址为2000,每个元素占2个存储单元,若以⾏序为主序顺序存储,则元素A[4,5]的存储地址为____2056_______;若以列序为主序顺序存储,则元素A[4,5]的存储地址为_2086______。
10、⼀个⼆叉树中叶⼦结点3个,度为1的结点4个,则该⼆叉树共有___9____个结点。
11、在图G的邻接表表⽰中,每个顶点邻接表中所含的结点数,对于⽆向图来说等于该顶点的__度_____,对于有向图来说等于该顶点的____出度_____。
数据结构试题集(包含答案完整版)
第一章概论一、选择题1、研究数据结构就是研究( D )。
A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A. 图B. 树C. 广义表D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。
for(i=0;i<m;i++)for(j=0;j<n;j++)a[i][j]=i*j;A. O(m2)B. O(n2)C. O(m*n)D.O(m+n)6、算法是( D )。
A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A. O(n)B. O(nlog2n)C. O(n2)D.O(log2n)8、下面程序段的时间复杂度为( C )。
i=1;while(i<=n)i=i*3;A. O(n)B. O(3n)C. O(log3n)D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。
A. 结构B. 关系C. 运算D. 算法10、下面程序段的时间复杂度是(A )。
i=s=0;while(s<n){i++;s+=i;}A. O(n)B. O(n2)C. O(log2n)D. O(n3)11、抽象数据类型的三个组成部分分别为( A)。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。
数据结构-习题三数据结构综合练习
练习1.内存中一片连续空间(不妨假设地址从1到m),提供给两个栈S1和S2使用,怎样分配这部分存储空间,使得对任一个栈,仅当这部分空间全满时才发生上溢。
2.叙述前序和中序遍历二叉树的步骤;一棵前序序列为1,2,3,4的二叉树,其中序序列可能是4,1,2,3吗?设一棵二叉树的前序序列为1,2,3,4,5,6,7,8,9,其中序序列为2,3,1,5,4,7,8,6,9,试画出该二叉树。
3.设有一个关键码的输入序列{ 55, 31, 11, 37, 46, 73, 63 },(1) 从空树开始构造平衡二叉搜索树, 画出每加入一个新结点时二叉树的形态。
若发生不平衡, 指明需做的平衡旋转的类型及平衡旋转的结果。
(2) 计算该平衡二叉搜索树在等概率下的查找成功的平均查找长度。
4.设散列表为HT[0..12],即表的大小为m=13。
现采用双散列法解决冲突。
散列函数和再散列函数分别为:H0(key)=key%13; 注:%是求余数运算(=mod)H i=(H i-1+REV(key+1)%11+1)%13; i=1,2,3,…,m-1、其中,函数REV(x)表示颠倒10进制数x的各位,如REV(37)=73,REV(7)=7等。
若插入的关键码序列为{2,8,31,20,19,18,53,27}。
(1)试画出插入这8个关键码后的散列表。
(2)计算搜索成功的平均搜索长度ASL。
5.下图表示一个地区的通讯网,边表示城市间的通讯线路,边上的权表示架设线路花费的代价,如何选择能沟通每个城市且总代价最省的n-1条线路,画出所有可能的选择。
6.给出一组关键字:29,18,25,47,58,12,51,10,分别写出按下列各种排序方法进行排序时的变化过程:(1)归并排序每归并一次书写一个次序。
(2)快速排序每划分一次书写一个次序。
(3)堆排序先建成一个最大堆,然后每从堆顶取下一个元素后,将堆调整一次。
7.假设用于通讯的电文由5个字母组成,A B C D E F ,字母在电文中的出现频率分别为0.09,0.12,0.07,0.22,0.23,0.27,画出哈夫曼树,并写出各个字符的哈夫曼编码。
数据结构综合题库
1判断题(√)1. 数据的逻辑结构与数据元素本身的内容和形式无关。
()2. 线性表的逻辑顺序与物理顺序总是一致的。
()3. 若有一个叶子结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点。
()4. 对于同一组待输入的关键码集合,虽然各关键码的输入次序不同,但得到的二叉搜索树都是相同的。
(√)5. 最优二叉搜索树的任何子树都是最优二叉搜索树。
(√)6. 在二叉搜索树上插入新结点时,不必移动其它结点,仅需改动某个结点的指针,使它由空变为非空即可。
(√)7. 有n(n≥1)个顶点的有向强连通图最少有n条边。
()8. 连通分量是无向图中的极小连通子图。
()9. 二叉树中任何一个结点的度都是2。
()10. 单链表从任何一个结点出发,都能访问到所有结点。
()11.线性表的长度是线性表占用的存储空间的大小。
()12.队列只能采用链式存储方式。
(√)13.用邻接矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关。
(√)14.由二叉树的先序序列和中序序列能唯一确定一棵二叉树。
()15.图中一个顶点i的出度等于其邻接矩阵中第i列的非0元个数。
()16. 线性表的链接存储,表中元素的逻辑顺序与物理顺序一定相同。
(√)17.数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个方面。
(√)18.线性表中的每个结点最多只有一个前驱和一个后继。
()19.二叉排序树查找总比顺序查找速度快。
()20.对具有n个顶点的连通图进行深度优先遍历,所得顶点序列是唯一的。
()21.线性表中各个数据元素的类型必须是相同的。
()22.B+树是一种特殊的二叉树。
()23.栈可视为一种特殊的线性表。
(√)24.快速排序总是比其它排序方法快。
()25.使用双向链表存储数据,可以提高查找(定位运算)的速度。
()26.最小生成树是边数最少的生成树。
二、单选题1 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动( b )个元素。
数据结构试题及答案考研
数据结构试题及答案考研试题:一、单项选择题(每题2分,共10分)1. 在数据结构中,下列哪个概念是为了解决动态数据存储问题而提出的?()A. 栈B. 队列C. 链表D. 数组2. 对于长度为n的有序数组,使用二分查找法查找一个元素的平均时间复杂度是()A. O(n)B. O(n^2)C. O(log n)D. O(1)3. 在图的遍历算法中,深度优先搜索(DFS)使用的数据结构是()A. 栈B. 队列C. 链表D. 数组4. 哈希表的冲突可以通过多种方式解决,其中不是常用的方法是()A. 开放寻址法B. 链地址法C. 线性探测法D. 跳房子法5. 下列数据结构中,哪个不是树形结构?()A. 堆B. 二叉搜索树C. 哈夫曼树D. 邻接矩阵二、简答题(每题5分,共20分)1. 请简述什么是堆栈,并说明它们在计算机科学中的重要性。
2. 描述一下什么是平衡二叉树,并解释为什么它在数据库索引中非常有用。
3. 解释一下什么是图的最小生成树,并给出Prim算法的基本思想。
4. 什么是哈希表?为什么哈希表在解决冲突时需要一个好的哈希函数?三、算法设计题(每题15分,共30分)1. 给定一个整数数组,请设计一个算法找出数组中的最长递增子序列。
请给出算法的基本思想,并说明其时间复杂度。
2. 请设计一个算法,实现两个链表是否相交的检测。
如果相交,请返回交点的节点;如果不相交,返回null。
请给出算法的基本思想,并说明其时间复杂度。
四、综合题(共40分)1. 给定一个字符串,请实现一个函数,该函数可以计算出该字符串中所有子字符串的频率。
要求使用哈希表来存储子字符串及其频率。
请描述算法的步骤,并分析其时间复杂度和空间复杂度。
(20分)2. 请解释什么是B树,并说明为什么B树在数据库系统中被广泛使用。
(20分)答案:一、单项选择题1. C(链表)2. C(O(log n))3. A(栈)4. D(跳房子法)5. D(邻接矩阵)二、简答题1. 堆栈是一种特殊的数据结构,遵循后进先出(LIFO)原则。
数据结构试题一及答案
数据结构试题一及答案一、单选题(每题2分,共40分)1.数据结构中,与所使用的计算机无关的是数据的()结构;A. 存储B. 物理C. 逻辑D. 物理和存储2.算法分析的目的是()A. 找出数据结构的合理性B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性3.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为()A. 存储结构 B. 逻辑结构 C. 顺序存储结构 D. 链式存储结构4.链表是一种采用()存储结构存储的线性表A. 顺序B. 链式C. 星式D. 网状5.栈中元素的进出原则是()A. 先进先出B. 后进先出C. 栈空则进D. 栈满则出6.串是一种特殊的线性表,其特殊性体现在()A. 可以顺序存储B. 数据元素是一个字符C. 可以链式存储D. 数据元素可以是多个字符7.设有两个串p和q,求q在p中首次出现的位置的运算称作()A. 连接B. 模式匹配C. 求子串D. 求串长8.在循环队列中用数组A[m] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是()。
A. (front - rear + 1)% mB. (rear - front +1)% mC. (front - rear + m)% mD. (rear - front + m)% m为第9.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。
A. 13B. 33C. 18D. 4010.将一棵树T转换为孩子—兄弟链表表示的二叉树H,则T的后序遍历是H的()。
A. 先序遍历B. 中序遍历C. 后序遍历D. 层次遍历11.二叉树上叶结点数等于()。
A. 分支结点数加1B. 单分支结点数加1C. 双分支结点数加1D. 双分支结点数减112.由权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。
数据结构综合练习题[1]
一、选择题1.下列程序段的时间复杂度为()。
i=0,s=0; while (s<n) {s=s+i;i++;}(A) O(n1/2) (B) O(n1/3) (C) O(n) (D) O(n2)2.设某链表中最常用的操作只是在链表中进行查找,则最好采取下列()存储方式最节省运算时间。
(A) 无序静态表(B) 有序静态表(C) 单向链表(D) 双向循环链表3.设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为()。
(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;4.设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为()。
(A) 5,3,4,6,1,2 (B) 3,2,5,6,4,1(C) 3,1,2,5,4,6 (D) 1,5,4,6,2,35.设有一个10阶的下三角矩阵A(包括对角线),按照从上到下、从左到右的顺序存储到连续的55个存储单元中,每个数组元素占1个字节的存储空间,则A[5][4]地址与A[0][0]的地址之差为()。
(A) 10 (B) 19 (C) 28 (D) 556.设一棵m叉树中有N1个度数为1的结点,N2个度数为2的结点,……,Nm个度数为m的结点,则该树中共有()个叶子结点。
(A) ∑=-miiNi1)1((B) ∑=miiN1(C) ∑=miiN2(D) ∑=-+miiNi2)1(17. 二叉排序树中左子树上所有结点的值均()根结点的值。
(A) < (B) > (C) = (D) !=8. 设一组权值集合W=(15,3,14,2,6,9,16,17),要求根据这些权值集合构造一棵哈夫曼树,则这棵哈夫曼树的带权路径长度为()。
数据结构综合题库
1判断题()1. 数据的逻辑结构与数据元素本身的内容和形式无关。
()2. 线性表的逻辑顺序与物理顺序总是一致的。
()3. 若有一个叶子结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点。
()4. 对于同一组待输入的关键码集合,虽然各关键码的输入次序不同,但得到的二叉搜索树都是相同的。
()5. 最优二叉搜索树的任何子树都是最优二叉搜索树。
()6. 在二叉搜索树上插入新结点时,不必移动其它结点,仅需改动某个结点的指针,使它由空变为非空即可。
()7. 有n(n≥1)个顶点的有向强连通图最少有n条边。
()8. 连通分量是无向图中的极小连通子图。
()9. 二叉树中任何一个结点的度都是2。
()10. 单链表从任何一个结点出发,都能访问到所有结点。
()11.线性表的长度是线性表占用的存储空间的大小。
()12.队列只能采用链式存储方式。
()13.用邻接矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关。
()14.由二叉树的先序序列和中序序列能唯一确定一棵二叉树。
()15.图中一个顶点i的出度等于其邻接矩阵中第i列的非0元个数。
()16. 线性表的链接存储,表中元素的逻辑顺序与物理顺序一定相同。
()17.数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个方面。
()18.线性表中的每个结点最多只有一个前驱和一个后继。
()19.二叉排序树查找总比顺序查找速度快。
()20.对具有n个顶点的连通图进行深度优先遍历,所得顶点序列是唯一的。
()21.线性表中各个数据元素的类型必须是相同的。
()22.B+树是一种特殊的二叉树。
()23.栈可视为一种特殊的线性表。
()24.快速排序总是比其它排序方法快。
()25.使用双向链表存储数据,可以提高查找(定位运算)的速度。
()26.最小生成树是边数最少的生成树。
二、单选题1 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动()个元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合题
1.设一组记录的关键字序列为(49,83,59,41,43,47),采用堆排序算法完成以下操作:(要求小根堆,并画出中间过程) (1)以二叉树描述6个元素的初始堆
(2)以二叉树描述逐次取走堆顶元素后,经调整得到的5个元素、4个元素的堆。
2.设有一个不带头结点的单向链表,头指针为head ,结点类型为NODE ,每个结点包含一个数据域data 和一个指针域next ,该链表有两个结点,p 指向第二个结点(尾结点),按以下要求写出相应语句(不要求完整程序,(1)、(2)、(3)、(4)是一个连续的过程)。
(1)新开辟一个结点,使指针s 指向该结点,结点的数据成员data 赋值为1
(2)把该结点插入链表的尾部,释放指针s 的指向 (3)删除链表的第一个结点
(4)已知p1指向另一个新结点,把它插入到p 所指结点和尾结点之间 (1)s=(NODE*)malloc(sizeof(NODE));s->data=1;
(2)p->next=s;
s->next= NULL ; free(s)
(3)head = head ->next ; (4)p 1->next= p->next ;
p->next=p 1;
4.(1)设有序列{10,12,15,19,22,25,100,130,150,200}画出对上述序列进行折半查找的判定树(以序列中的元素作为树的结点) (2)为了成功查找到100需要进行多少次元素间的比较?为了查找9,
经过多少次元素间的比较可知道查找失败?
3.设有序表为(13,19,25,36,48,51,63,84,91,116,135,200),元素的下标依次为1,2, (12)
(1)说出有哪几个元素需要经过4次元素间的比较才能成功查到 (2)画出对上述有序表进行折半查找所对应的判定树(树结点用下标表示)
(3)设查找元素5
,需要进行多少次元素间的比较才能确定不能查到
5. (1)对给定数列{7,16,4,8,20,9,6,18,5},依次取数列中的数据,构造一棵二叉排序树。
(2 )对一个给定的查找值,简述针对二叉排序树进行查找的算法步骤,在上述二叉树中查找元素20
共要进行多少次元素的比较?
(2)先将给定值与根结点比较,若相等则查找成功,否则若小于根结点则在左子树中继续查找,大于根结点在右子树中查找,查找20共进行3次比较。
6.(1) 设有查找表{5,14,2,6,18,7,4,16,3},依次取表中数据,构造一棵二叉排序树。
(2)说明如何由序列的二叉排序树得到相应序列的排序结果,对上述二叉排序给出中序遍历的结果。
(2)中序遍历
中序 2,3,4,5,6,7,14,16,18
1.(1)已知某二叉树的后序遍历序列是debca,中序遍历序列是dbeac,试画出该二叉树
(2)若上述二叉树的各个结点的字符分别代表不同的整数(其中没
有相等的),并恰好使该树成为一棵二叉排序树,试给出a、b、c、d、e的大小关系
(3)给出该树的前序遍历序列
(1)
(2)d<b<e<a<c
(3)abdec
2.(1)已知某二叉树的先序遍历序列是aecdb,中序遍历序列是eadcb,试画出该二叉树
(2)给出上述二叉树的后序遍历序列
(3)若上述二叉树的各个结点的字符分别是1,2,3,4,5,并恰好使该树成为一棵二叉排序树,试问a、b、c、d、e的值各为多少?
(2)edbca
(3)e=1,a=2,d=3,c=4,b=5 3.(1)设有一个整数序列{40,28,6,72,100,3,54}依次取出序列
中的数,构造一棵二叉排序树
(2)对上述二叉排序树,在等概率条件下,求成功查找的平均查找长度
(2)ASL=(1x1+2x2+3x3+4)/7=18/7 4.(1)给定数列{8,17,5,9,21,10,7,19,6},依次取序列中的数构造一棵二叉排序树
(2)对上述二叉树给出中序遍历得到的序列
(2)5,6,7,8,9,10,
17,18,19,21 5.(1)利用筛选过程把序列{42,82,67,102,16,32,57,52}建成
堆(小根堆),画出相应的完全二叉树(不要求中间过程)
(2
)写出对上述堆对应的完全二叉树进行中序遍历得到的序列
(2)102,52,42,82,16,67,32,57
6.(1)以给定权重值1,2,12,13,20,25为叶结点,建立一棵哈夫曼树
(2)若哈夫曼树有n个非叶子结点,则树中共有多少结点。
对给定的一组
权重值建立的棵哈夫曼树是否一定唯一
(2)2n-1 不一定唯一
1.(1)设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表,写出其中两个关键的赋值语句(不用完整程序,结点的链域为next)。
(2)单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:
p->next=s; s->next=p->next;
这样做正确吗?若正确则回答正确,若不正确则说明应如何改写(1)p1->next= head2;p2->next= head1;
(2)不对,s->next= p->next;p->next=s;
2.(1)一组记录的关键字序列为{45,40,65,43,35,95}写出利用快速排序的方法,以第一个记录为基准得到的一趟划分的结果(要求给出一趟划分中每次扫描和交换的结果)
(2)同样对序列{45,40,65,43,35,95}利用直接插入排序,写出逐次插入过程(从第一个元素一直到第六个元素)。
3.(1)画出对长度为10的有序表进行折半查找的判定树(以序号1,2,……10表示树结点)
(2)对上述序列进行折半查找,求等概率条件下,成功查找的平均
查找长
(2)ASL=(1x1+2x2+3x4+4x3)/10=29/10 5.(1)利用筛选法,把序列{37,77,62,97,11,27,52,47}建成堆(小根堆),画出相应的完全二叉树
(2)写出对上述堆所对应的二叉树进行前序遍历得到的序
(2)11,37,47,97,77,27,62,52
6.(1)设有一个整数序列{50,38,16,82,110,13,64},依次取出序列中的数,构造一棵二叉排序树
(2)利用上述二叉排序树,为了查找110,经多少次元素间的比较能成功查到,为了查找15
,经多少次元素间的比较可知道查找失败
(2)三次;四次。