1、完整word版数据结构习题库汇总docx知识点:01绪论02顺序表03链表04栈05链队列06循环队列07串08数组的顺序表示09稀疏矩阵10广义表11二叉树的基本概念12二叉树遍历、二叉树性质13树、树与二叉树的转换14赫夫曼树15图的定义、图的存储16图的遍历17图的生成树18静态查找(顺序表的查找、有序表的查找)19动态查找(二叉排序树、平衡树、B 树)20哈希查找21插入排序(直接插入、折半插入、2 路插入、希尔排序)22选择排序(简单选择、树形选择、堆排序)23快速排序、归并排序101A1( 1)数据的逻辑结构是(A )。A 数据的组织形式B数据的存储形式C数据的表示形式D 数据的实
2、现形式101A1( 2)组成数据的基本单位是(C)。A 数据项B数据类型C数据元素D数据变量101B1( 3)与顺序存储结构相比,链式存储结构的存储密度(B )。A 大B 小C相同D 以上都不对101B2( 4)对于存储同样一组数据元素而言,(D )。A 顺序存储结构比链接结构多占空间B在顺序结构中查找元素的速度比在链接结构中查找要快C与链接结构相比,顺序结构便于安排数据元素D顺序结构占用整块空间而链接结构不要求整块空间101B2( 5)下面程序的时间复杂度为(B )。x=0 ;for (i=1 ;in ; i+ )for( j=i+1 ; j=n ; j+ )x+ ;A O( n )B O(
3、n2)C O( 1)D O( n)101B2( 6)下面程序的时间复杂度为(C)。for (i=0 ;im ;i+ )for( j=0 ; jn ; j+ )Aij=i*j;A O( m2)B O(n2 )C O(m n)D O( m+n)101C2( 7)下面程序段的执行次数为(B )。for (i=0 ;ii ; j+ )state;A n( n+1) /2B( n-1)( n+2) /2C n( n+1 )/2D ( n-1)( n+2)101D3 ( 8)下面程序的时间复杂度为(A )。for( i=0 ; im ; i+ )for ( j=0 ; jt ; j+ )cij=0 ;fo
4、r( i=0 ; im ; i+ )for ( j=0 ; jt ; j+ )for( k=0; krlink 表示,则下列等式中( D)成立。14 个元素 p-llinkA p=p-llink B p=p-rlink C p=p-llink-llink D p=p-llink-rlink103A1 ( 16)线性表采用链式存储时,其地址( D)。A 必须是连续的 B一定是不连续的 C部分地址必须是连续的 D连续与否均可以103B1 ( 17)线性表是( A )。A 一个有限序列,可以为空 B一个有限序列,不可以为空 C一个无限序列,可以为空D一个无限序列,不可以为空103B1 ( 18)链式
5、存储的线性表中的指针指向其( B)。A 前趋结点 B 后继结点 C物理前趋 D物理后继103C2( 19)设在链式存储的线性表中,设结点结构为 data link ,欲在 p 结点后插入一个结点 q 的关键步骤为( A )。A q-link=p-link C q-link=p-link;p-link=q q-link=p;B p-link=q-link D p-link=q-link;p-link=q q-link=p;103C3( 20)设有指针 head 指向的带表头结点的单链表,现将指针 p 指向的结点插入表中,使之成为第一个结点,其操作是( A )(其中, p-next 、 head-
6、next 分别表示 p、 head 所指结点的链域) 。A p-next=head-next ; head-next=p; B p-next=head-next ;C p-next=head; head=p; D p-next=head; p= head; 104A1 ( 21)在栈中,下列说法正确的是( A )。head=p;A 每次插入总是在栈顶,每次删除也总是在栈顶。 B每次插入总是在栈顶,每次删除总是在栈底。C每次插入总是在栈底,每次删除总是在栈顶。 D每次插入总是在栈底,每次删除也总是在栈底。104B2 ( 22)设有一个栈,按 A 、 B、 C 的顺序进栈,则下列( C)为不可能的
7、出栈序列。A ABC B CBA CCAB D ACB104B2 ( 23)设有一个栈,按 A 、 B、 C、 D 的顺序进栈,则下列( D)为可能的出栈序列。A DCAB B CDAB C DBAC D ACDB104A2 ( 24)顺序栈的上溢是指( B)。A 栈满时作退栈运算 B栈满时作进栈运算 C栈空时作退栈运算 D 栈空时作进栈运算104D3 ( 25)顺序栈 S 中 top 为栈顶指针,指向栈顶元素所在的位置, elem 为存放栈的数组,则元素e 进栈操作的主要语句为( D)。A s elemtop=e ; s top=s top+1 ; Bs elemtop+1=e ; s to
8、p=s top+1 ;C s top=s top+1 ; s elemtop+1=e ; D s top=s top+1 ; s elemtop=e ;104C2( 26)设有 5 个元素 A , B, C,D ,E 顺序进栈(进栈过程中可以出栈) ,出栈后依出栈次序进入队列,已知其出队次序为 D ,C,E, B, A,则该栈容量必定不小于( C)。A 2 B 3 C 4 D 5104B2 ( 27)设栈 S 的初始状态为空,现有五个元素组成的序列 1, 2, 3, 4, 5,对该序列在栈 S 上依次进行 PUSH, PUSH, POP, PUSH, POP, PUSH ,PUSH 操作,出栈
9、的元素序列是( C)。A 5, 4, 3, 2, 1 B 2, 1 C 2, 3 D 3,4104B2 ( 28)在一个具有 n 个单元的顺序栈中,假定以地址低端(即顶指针,则当做出栈处理时, top 变化为( C)。0 单元)作为栈底,以top为栈A top 不变 B top=0 C top- - D top+104D3 ( 29)向一个栈顶指针为 hs 的链栈中插入一个 *s 结点时,应执行( B )。A hs-next=s; B s-next=hs; hs=s; C s-next=hs-next ; hs-next=s;D s-next=hs; hs=hs-next;105A1 ( 30
10、)在队列中,下列说法正确的是(A )。A 每次插入总是在队尾,每次删除总是在队头。 B 每次插入总是在队尾,每次删除也总是在队尾。C每次插入总是在队头,每次删除也总是在队头。 D每次插入总是在队头,每次删除总是在队尾。105D3 (31)在带头结点的链队列 q 中,用 qfront 表示队头指针, qrear 表示队尾指针,结点结构为 data next ,删除链队列的队头结点的主要语句为( B)。A s=q front ; qfront-next= s next; B s=q front-next ; q front-next= s next;C s=q front-next ; q fro
11、nt= s next; D s=q; q front-next= s next;106C3( 32)循环队列 sq 中,用数组 elem 存放数据元素, sqfront 指示队头元素的前一个位置, sqrear指示队尾元素的当前位置,队列的最大容量为 MAXSIZE ,则队列满的条件为( D)。A sq front= sq rear B sq front= sq rear+1 C( sq front +1 )mod MAXSIZE= sq rearD( sq rear+1) mod MAXSIZE= sq front106C2( 33)循环队列 sq 中,用数组 elem 存放数据元素, sq
12、front 指示队头元素的前一个位置, sqrear指示队尾元素的当前位置,队列的最大容量为 MAXSIZE ,则在队列未满时元素 x 入队列的主要操作为( A )。A sq rear= ( sqrear+1) mod MAXSIZE ; sq elemsq rear=x ;B sq elemsqrear=x ; sq rear= ( sq rear+1) mod MAXSIZE ;C sq front= ( sq front+1 ) mod MAXSIZE ; sq elemsqfront=x ;D sq elemsq front=x ; sq front= sq front+1 ;106B
13、2 ( 34)循环队列 sq 中,用数组 elem0 25 存放数据元素, sq front 指示队头元素的前一个位置, sqrear 指示队尾元素的当前位置,设当前 sqfront 为 20,sqrear 为 12,则当前队列中的元素个数为( D)。A 8 B 16 C 17 D 18106B2 (35)设循环队列的元素存放在一维数组 Q0 30中,队列非空时,个位置, rear 指示队尾元素。如果队列中元素的个数为 11,front 的值为素。front 指示队头元素的前一25,则 rear 应指向( B)元A Q4 B Q5 C Q14 D Q15105A1 ( 36)队列操作的原则是(
14、 A)。A 先进先出 B 后进先出 C只能进行插入 D 只能进行删除105B2 ( 37)一个队列的入列序列是 1234,则队列的输出序列是( B )。A 4321 B 1234 C 1432 D 3241108C2( 38)设 6 行 8 列的二维数组A 6 8=( aij )按行优先顺序存储, 若第一个元素的存储位置为200,且每个元素占3 个存储单元,则元素a54 的存储位置为( B)。A 308B 305C 266D 269109C2( 39)设有一个 10 阶的对称矩阵A ,采用压缩存储方式,以行序为主存储,a11 为第一个元素,其存储地址为1,每元素占 1 个地址空间,则a85 的
15、地址为( B )。A 13B 33C 18D 40108A1 (40)设二个数组为A0 7、B-5 2,38 ,则这两个数组分别能存放的字符的最大个数是( C)。A 7 和 35B 1 和 5C 8 和 48D 1 和 6108C3( 41)二维数组 Mi , j 的元素是4 个字符(每个字符占一个存储单元)组成的串,行下标i 的范围从 0 到 4,列下列 j 的范围从0 到 5。M 按行存储时元素M3 , 5的起始地址与M 按列存储时元素( B )的起始地址下同。A M2 , 4B M3 , 4C M3 ,5D M4 , 4108C2( 42)设二维数组为M0 8, 010 ,每个元素占 2
16、L个存储单元,以行序为主序存储,第一个元素的存储位置为 P。存储位置为P+50L 的元素为( A)。A M2 , 3B M2 , 2C M3 , 3D M3 , 4108C2( 43)设二维数组A 的维数界偶定义为 1 8,0 10 ,起始地址为 LOC ,每个元素占 2L个存储单元,以行序为主序存储方式下,某数据元素的地址为LOC+50L ,则在列序为主序存储方式下,该元素的存储地址为(D)。A LOC+28LB LOC+36LC LOC+50LD LOC+52L109B2( 44)数组 A1 40,1 30采用三元组表示,设数组元素与下标均为整型,则在非零元素个数小于( D )时,才能节省
17、存储空间。A 1200B 401C 399D 400108A1 ( 45)一维数组通常采用顺序存储结构,这是因为(C)。A 一维数组是一种线性数据结构B一维数组是一种动态数据结构C一旦建立了数组,则数组中的数据元素之间的关系不再变动D 一维数组只能采用顺序存储结构109A1 ( 46)对稀疏矩阵进行压缩存储的目的是(B)。A 方便存储B 节省存储空间C方便运算D节省运算时间108D3 ( 47)设二维数组a0 5, 0 6按行存储,每个元素占d 个存储单元,如果每个元素改为2d个存储单元,起始地址不变,则元素a2, 6的存储地址将要增加( A)个存储单元。A 20dB 21dC 38dD 39
18、d108B2 ( 48)一维数组与线性表的区别是(A )。A 前者长度固定,后者长度可变B后者长度固定,前者长度可变C两者长度均固定D 两者长度均可变107A1 ( 49)下列关于串的叙述中,不正确的是(B)。A 串是字符的有限序列B 空串是由空格构成的串C模式匹配是串的一种重要运算D串既可以采用顺序存储,也可以采用链式存储107B2 ( 50)以下论断正确的是(A )。A “”是空串, “ ”是空白串B“ BEIJING ”是“ BEI JING ”的子串C“ something ”“ Somethig ”D ” BIT ” =” BITE ”107B2 ( 51)字符串“ VARTYPE
19、unsignedint ”若采用动态分配的顺序存储方法需要(C)个字节(假设每种数据均占用 2 个字节)。A 38B动态产生,视情况而定C40D 42111A1 ( 52)由 3 个结点可以构造出(A )种不同形态的有向树。A 2 B 3 C 4 D 5111A1 ( 53)下列树的度为( B )。A 2 B 3 C 5D 8112C2(54)含 10 个结点的二叉树中,度为 0 的结点有 4 个,则度为A 3 B 4 C 5 D 6111B2( 55)对一棵有 100 个结点的完全二叉树按层编号,则编号为( A )。2 的结点有( A )个。49 的结点,它的左孩子的编号为A 98 B 99
20、 C 97 D 50112B2 (56)一棵深度为 8(根的层次号为 1)的满二叉树有(A 256 B 255 C 128 D 127112C3(57)设二叉树根结点的层数为 1,若一棵高(深)度为点,则其结点数至少为( B)。A h B 2h-1 C 2h D 2h+1112C2(58)对下列二叉树进行先根次序遍历,所得次序为(B )个结点。h 的二叉树只有度为A )。0 与度为2 的结ABECFDA ABCDEF B ADCBFE C BCDAFE D DCBFEA112D3( 59)一棵二叉树的前(先)序序列为 ABCDEFG ,则它的中序序列不可能为( C)。A CBDAFEG B D
21、CBAEFG C CDBAGEF D BDCAFGE112A1 ( 60)若先序遍历二叉树的结果为结点序列 A , B, C,则有( C)棵不同的二叉树可以得到这一结果。A 3 B 4 C 5 D 6111B2( 61)具有 n 个结点的二叉树,有( B )条边。A n B n-1 C n+1 D 2n112C2(62)在具有 n 个结点的二叉树的二叉链表表示中,A n B n-1 C n+1 D 2n114B2 (63)对哈夫曼树,下列说法错误的是( B )。2n个孩子指针域中,只用到(B )个域。A 哈夫曼树是一类带树路径长度最短的树。 B 给出一组数,构造的哈夫曼树唯一。C给出一组数,构
22、造的哈夫曼树的带树路径长度不变。D哈夫曼树的带权路径长度为每个叶子的路径长度与该叶子权值乘积之和。111D3( 64)假定在一棵二叉树中,双分支结点数为 15 个,单分支结点数为 30 个,则叶子结点数为( B)。A 15 B 16 C 17 D 47113C3(65)假定一棵三叉树的结点数为 50,则它的最小高度为( C)。A 3 B 4 C 5 D 6114B2 (66)由带权为 9, 2, 5, 7 的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为(A 23 B 37 C 46 D 44112C2( 67)二叉树的先序遍历为 EFHIGJK ,中序遍历为 HFIEJKG ,则该二叉树根的右子树的根是A E B F CG D H111A1 ( 68)在完全二叉树中,若一个结点是叶结点,则它没有( C)。D)。( C)。A 左孩子结点 B右孩子结点 C左孩子和右孩子结点 D左孩子结点,右孩子结点和兄弟结点113B2 (69)( B)二叉树,可以唯一地转化成一棵一般树。A 根结点无左孩子B根结点无右孩子
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1