1、1. 一个非空广义表的表头______。 A.不也许是子表 B.只能是子表 C.只能是原子 D.能够是子表或原子 2. 在如下的论述中,正确的是________。 A.二维数组能够看做它的每个数据元素为一个线性表的线性表 B.栈的操作方式是先进先出 C.线性表的线性存储结构优于链表存储结构 D.队列的操作方式是先进后出 3. 如下陈述中正确的是________。 A.串是一个特殊的线性表 B.串的长度必须不小于零 C.串中元素只能是字母 D.空串就是空白串 4. 如下陈述中正确的是______。 A.串是一个特殊的线性表 B.串的长度必须不小于零 C.串中元素只能是字母
2、D.两个串s1和s2若长度相同,则这两个串相等 5. 数组A中,每个元素的长度为3字节,行下标从1到8,列下标从1到10,从首地址SA开始连续存储在存储器中,按行存储时,元素a[8][5]地址为 。 A.SA+141 B.SA+180 C.SA+222 D.SA+225 6. 任何一个非空列表其表头也许是原子,也也许是列表,而其表尾是 。 A.原子 B.列表 C.任何元素 D. 空 7. 稀疏矩阵一般的压缩存储措施有两种 。 A.二维数组和三维数组 B.三元组和散列 C.三元组和十字链表 D.散列和十字链表 8. 常对数组进行的两种基本操作是 。 A.建立
3、和删除 B. 插入和修改 C.查找和修改 D.查找和索引 9. 假定利用数组a[N]次序存储一个栈,用top表示栈顶指针,top = = 0表示栈空,并已知栈未满,当元素x进栈时所执行的操作为______。 A.a[--top] = x; B.a[top--] = x; C.a[++top] = x; D.a[top++] = x; 10. 由两个栈共享一个向量空间的好处是______。 A.减少存取时间,减少下溢发生的机率 B.节约存储空间,减少上溢发生的机率 C.减少存取时间,减少上溢发生的机率 D.节约存储空间,减少下溢发生的机率 11. 入栈次序是a,b,c
4、d,e,则出栈次序不也许是________ A.e,d,c,b,a B.d,e,c,b,a C.d,c,e,a,b D.a,b,c,d,e 12. 假定利用数组a[N]循环次序存储一个队列,用front(指向队首元素)和rear(指向队尾元素的下一位置)分别表示队首和队尾指针,并已知队列未空,当出队并返回队首元素时所执行的操作为______。 A.return a[++rear%N]; B.return a[--rear%N]; C.return a[++front%N]; D.return a[front++%N]; 13. 当利用大小为N的一维数组存储一个循环队列时,
5、则该队列的最大长度为______。 A. N-2 B. N-1 C. N D. N+1 14. 假定一个长度为n的循环次序队列的队首和队尾指针分别为f和r,则判断队满的条件是_____。 A.(f+1)%n==r B.(r+1)%n==f C.f==0 D.f==r 15. 假定一个链队列的队首和队尾指针分别为front和rear,则判断队空的条件是_____。 A.front==rear B.front!=NULL C.rear!=NULL D.front==NULL 16. 队和栈的重要区分是________。 A.逻辑结构不一样 B.存储结构不一
6、样 C.所包括的运算个数不一样 D.限定插入和删除的位置不一样 17. 假定一个次序队列的队首和队尾指针分别为front和rear,则判断队空的条件是________。 A.front+1= =rear B.rear+1= =front C.front= =0 D.front= =rear 18. 链式栈与次序栈相比,一个比较明显的优点是________。 A.插入操作愈加以便 B.一般不会出现栈满的情况 C.不会出现栈空的情况 D.删除操作愈加以便 19. 判定一个栈ST(最多元素为m0)为空的条件是_________ A.ST->top<>0 B.ST->
7、top=0 C.ST->top<>m0 D.ST->top=m0 20. 下面算法的时间复杂度为____________。 int f( unsigned int n ) { if ( n==0 || n==1 ) return 1; else return n*f(n-1); } A.O(1) B.O(n) C.O(n2) D.O(n!) 21. 在长度为n的次序存储的线性表中,删除第i个元素(1≤i≤n)时,需要从前向后依次前移( )个元素。 A.n-I B.n-i+1 C.n-i-1 D. i 22. 线性表若采取链式存储结构时,要求内存中可用存储单元
8、的地址________。 A.必须是连续的 B.部分地址必须是连续的 C.一定是不连续的 D.连续,不连续都能够 23. 计算机识别、存储和加工处理的对象被统称为( ) A.数据 B.数据元素 C.数据结构 D.数据类型 24. 算法指的是 。 A.计算机程序 B.处理问题的计算措施 C.排序算法 D.处理问题的有限运算序列 25. 在对n个元素进行迅速排序的过程中,第一趟排序最多需要互换______对元素。 A.n/2 B.n-1 C.n D.n+1 26. 若对n个元素进行直接插入排序,在进行i趟(2≤i≤n)排序时,为寻找插入位置最多需要进
9、行______次元素的比较。 A.i+1 B.i-1 C.i D.1 27. 对于哈希函数H(key)=key%13,被称为同义词(即冲突)的核心字是_______ A.35和41 B.23和39 C.15和44 D.25和51 28. 若一组统计的排序码为(46, 79, 56, 38, 40, 84),则利用迅速排序的措施,以第一个统计为基准得到的一次划提成果为________ A.38,40,46,56,79,84 B.40,38,46,79,56,84 C.40,38,46,56,79,84 D.40,38,46,84,56,79 29. 在对
10、n个元素进行简单项选择择排序的过程中,需要进行______趟选择。 A.n/2 B.n-1 C.n D.n+1 30. 用某种排序措施对核心字序列(23,72,21,47,15,27,59,35,20)进行排序时,前三趟的成果情况如下________: 23,21,47,15,27,59,35,20,72 21,23,15,27,47,35,20,59,72 21,15,23,27,35,20,47,59,72 则所采取的排序措施是________ A.选择排序 B.起泡排序 C.归并排序 D.迅速排序 31. 设哈希表长为14,哈希函数f(k)=k%11,已知表中
11、已经有4个元素,核心字分别为15,38,61,84,存储位置分别为4,5,6,7,其他存储位置为空,如用二次探测再散列处理冲突,核心字为49的存储位置是______。 A.8 B.3 C.5 D.9 32. 对于次序存储的有序表(5, 12, 20, 26, 37, 42, 46, 50, 64),哨兵位在前,为查找元素26,若采取次序查找,需要比较______次才能查找成功。 A.3 B.4 C.5 D.6 33. 具备e条边的无向图,它的邻接表中有______个边结点。 A.e-1 B.e C.2(e-1) D.2e 34. 具备e条边的有向图,它的逆
12、邻接表中有______个弧结点。 A.e-1 B.e C.2(e-1) D.2e 35. 由权值分别为3, 8, 6, 2, 5的叶子结点生成一颗哈夫曼树,它的带权途径长度为______。 A.24 B.48 C.72 D.53 36. 假如某图的邻接矩阵是对角线元素如下元素均为零的上三角矩阵,则此图是_______。 A.有向完全图 B.连通图 C.强连通图 D.有向无环图 37. 下面有关图的存储的论述中,哪一个是正确的。 A.用邻接矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关 B.用邻接矩阵法存储图,占用的存储空间数只与图中边数有关
13、而与结点个数无关 C.用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关 D.用邻接表法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关 38. 图的深度优先遍历类似于树的_______。 A.先序遍历 B.中序遍历 C.后序遍历 D.层次遍历 39. 一个连通图的生成树是包括图中所有顶点的一个______子图。 A.极小 B.连通 C.极小连通 D.无环 40. 有向图的一个顶点的度为该顶点的______。 A.入度 B.出度 C.入度与出度之和 D.(入度+出度)/2 41. 在一个有向图中,所有顶点的度数之和
14、等于所有弧数的______倍。 A.3 B.2 C.1 D.1/2 42. n个顶点的连通图最少有______条边。 A.n-1 B.n C.n+1 D.0 43. 顶点个数为n的无向图最多有______条边。 A.n-1 B.n(n-1)/2 C.n(n+1)/2 D.n(n-1) 44. 树中所有结点的度数之和等于结点总数加______。 A.0 B.1 C.-1 D.2 45. 在一棵树中,每个结点最多有______个直接前驱结点。 A.0 B.1 C.2 D.任意多个 46. 将一棵有40个结点的完全二叉树从上到下
15、从左到右依次对结点进行编号,根结点的编号为1,则编号为15的结点的左孩子的编号为______。 A.30 B.31 C.16 D.32 47. 一棵树的广义表表示为a(b(c), d(e(g(h)), f)),则该树的度为2的结点数为______。 A.2 B.3 C.4 D.5 48. 一棵树的广义表表示为a(b(c), d(e(g(h)), f)),则该树的度为______。 A.2 B.3 C.4 D.5 49. 一棵树的广义表表示为a(b(c), d(e(g(h)), f)),则该树的高度为______。 A.2 B.3 C.4 D.5
16、50. 在一棵深度为h的完全二叉树中,所含结点个数不少于______。 A. 2h B. 2h+1 C. 2h-1 D. 2h-1 51. 在一棵二叉树的第5层上,最多具备______个结点。 A.14 B.16 C.31 D.32 52. 在一棵具备n个结点的二叉树中,所有结点的空子树个数等于______。 A.n B.n-1 C.n+1 D.2*n 53. 数据结构一般是研究数据的 及它们之间的联系。 A.存储和逻辑结构 B.存储和抽象 C.理想和抽象 D.理想与逻辑
17、 在含100个结点的完全二叉树,叶子结点的个数为__50______。 2. 一棵含有16个结点的完全二叉树,对他按层编号,对于编号为7的结点,他的双亲结编号点为_3_____左孩子编号为__14____、右孩子编号为___15___。 3. 对任何一棵二叉树,若n0,n1,n2分别是度为0,1,2的结点的个数,则n0=__n2+1_____。 4. 高度为k的二叉树具备的结点数目,最少为___k___,最多为__2k-1____。 5. 对于一颗具备n个结点的二叉树,对应二叉链表中指针域有_n-1_____个用于指向子结点。 6. 树的双亲表示法便于实现包括到_
18、双亲_____的操作,孩子表示法便于实现包括到孩子的操作。 7. 在一棵二叉树中,度为2的结点有5个,度为1的结点有6个,那么叶子结点有_6_____ 个 8. 假定一棵树的广义表表示为A(B(C, D(E, F,G), H(I, J))),则结点H的双亲结点为_B_____。 9. 假定一棵二叉树的结点个数为32,则它的最小深度为__6____。 10. 已知广义表ls=(a,(b,c,d),e),利用head和tail函数取出ls中的原子b的运算是__head(head(tail(ls)))______。 11. 广义表(A,(a,b),d,e,((i,j),k)),则广义表的
19、长度为_5____,深度为__3____,表头为___A___,表尾为__((a,b),d,e,((i,j),k))__________。 12. 稀疏矩阵可用三元组进行压缩存储,存储时需存储非零元的_元素值_____和行、列数。 13. 在串的链式存储方式中,结点越大,运算处理越___不以便),存储占用量越__小) 14. 一个串的任意个连续的字符组成的子序列称为该串的__子串____,包括该子序列的串称为_主串_____,该子序列在串中的位置用_子串的第一个字符在主串中的位置_________________来表示。 15. 广义表((a))的表头是(a),表尾是() 。 16.
20、 广义表((a),a)的表头是(a),表尾是(a) 。 17. 数组A中,每个元素的长度为3个字节,行下标从1到 8,列下标从1到 10,从首地址开始连续存储在存储器内,存储该数组最少需要的单元数是240 。 18. 栈的特点是__后进先出____________________。 19. 对于次序存储的队列,存储空间大小为n,头指针为F,尾指针为R。若在逻辑上看一个环,则队列中元素的个数为__(R-F+n)%n_________。 20. 队列又称为__先进先出______的线性表。 21. 栈结构允许进行删除操作的一端为__栈顶______。 22. 已知循环队列的存储空间为数
21、组a[21],且头指针(指向队头元素)和尾指针(队尾元素的下一位置)分别为8和3,则该队列的目前长度为__16______。 23. 在初始为空的队列中插入元素A,B,C,D以后,紧接着做了两次删除操作,此时的队尾元素是_D_______。 24. 在非空线性表中除第一个元素外,集合中每个数据元素只有一个_直接前驱________;除最后一个元素之外,集合中每个数据元素均只有一个__直接后继________。 25. 在双向链表中,每个结点含有两个指针域,一个指向_直接前驱_______结点,另一个指向_直接后继____结点。 26. 在单链表设置表头结点的作用是插入和删除表中第一个元
22、素时无须对__头指针______进行特殊处理。 27. 在一个单链表L中,若要在指针q所指结点的背面插入一个由指针p所指向的结点,则应进行的操作序列为:__p-next=q->next______________;q一>next=p。 28. 次序表中逻辑上相邻的元素的物理位置_相邻_______,单链表中逻辑上相邻的元素的物理位置__不一定相邻______。 29. 在以L为头指针的带头结点的单链表和单循环链表中,判断链表是否为空的条件分别为_L->next==NULL____和_L->next==L____。 30. 已知一次序存储的线性表,每个元素占用k个存储单元,若第一个元素的
23、地址为Loc1,则第i个元素的地址为__Loc1+(i-1)*k______________。 31. 若常常需要对线性表进行插入与删除操作,该线性表最佳采取__链式______存储结构。 32. 若常常需要对线性表进行查找操作,则最佳采取__次序______存储结构。 33. 若待散列的序列为(18,25,63,50,42,32,9),散列函数为H(key)=key%9,与18发生冲突的元素有_63,9_____。 34. _循环链表_______链表从任何一个结点出发,都能访问到所有结点。 35. 假定一组数据的核心字为{46,79,56,38,40,84},则以第一个统计为枢轴
24、对其进行第一趟迅速排序的成果为_{40,38,46,56,79,84}_____。 36. 假定一组数据的核心字为{46,79,56,38,40,84},则利用堆排序措施建立的初始小顶堆为_{38,40,56,79,46,84}_____。 37. 每次直接或通过“枢轴”元素间接比较两个元素,若出现逆序排列时就互换它们的位置,此种排序措施叫做__互换____排序。 38. 每次从无序表中取出一个元素,把它插入到有序表中的适当位置,此种排序措施叫做_插入_____排序。 39. 每次从无序表中挑选出一个最大或最小元素,把它互换到有序表的一端,此种排序措施叫做_选择_____排序。 4
25、0. 每次使两个相邻的有序表合并成一个有序表的排序措施叫做_2路归并排序_____排序。 41. 先将整个待排序列分割成若干子序列分别进行直接插入排序,待整个序列“基本有序”时,再对全体进行一次直接插入排序,此种排序措施叫做__希尔____排序。 42. 将一个数据元素(或统计)的任意序列,重新排列成一个按核心字有序的序列叫_排序_____。 43. 元素核心字转换为该元素存储位置的函数f称为__哈希函数____。 44. 数据的逻辑结构包括集合、_线性结构_______、树形结构和图状结构四种类型。 45. 已知有实现同一功效的两个算法,其时间复杂度分别为O(log2n)和O(n)
26、哪个算法的效率更高?___O(log2n) _____ 46. 假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为2 ;比较四次查找成功的结点数为8 ;平均查找长度为3.7 47. 在数据的存储无规律而言的线性表中进行检索的最佳措施是次序查找 48. 元素核心字转换为该元素存储位置的函数f称为__哈希函数 49. 若要对某二叉排序树进行遍历,确保输出元素的值序列按增序排列,应对该二叉排序树采取_中序_遍历法。 50. 一般用时间复杂度和__空间复杂度______ 两种措施衡量算法的效率。 51. 在一个无向图中,所有顶点的度数之
27、和等于所有边数的__2_____倍。 52. 在无向图中,若从顶点A到顶点B存在_途径______,则称A与B之间是连通的。 53. 有一个n个顶点的有向完全图的弧数__n(n-1)_______。 54. 对于一个具备n个顶点的图,若采取邻接矩阵表示,则矩阵大小为_n2_____。 55. 已知一棵树的前序序列为ABCDEF,后序序列为CEDFBA,则对该树进行层次遍历得到的序列为____ABCDFE_______。 56. 若一棵完全二叉树含有121个结点,则该树的深度为__7_________。 57. 度数为0的结点,即没有子树的结点叫作叶子结点。同一个结点的儿子结点之间互
28、称为弟兄结点 1. 任何一棵二叉树都有n0=n2+1的关系式。(√) 2. 插入与删除操作是数据结构中最基本的两种操作,因此这两种操作在数组中也常常被使用。(×) 3. 在完全二叉树中,若某结点无左孩子,则它必是叶结点。(√) 4. 用树的前序遍历和中序遍历能够导出树的后序遍历。(×) 5. 已知一棵二叉树的前序序列和后序序列能够唯一地结构出该二叉树。(×) 6. 将一棵树转换成二叉树后,根结点没有左子树。(×) 7. 设与一棵树T所对应的二叉树为BT,则与T中的叶子结点所对应的BT中的结点也一定是叶子结点。(×) 8. 满二叉树也是完全二叉树。(√) 9. 哈夫曼树一定是满
29、二叉树。(×) 10. 树的带权途径长度最小的二叉树中必然没有度为1的结点。(√) 11. 度为二的有序树等价于二叉树。(×) 12. 在一棵二叉树中,假定每个结点只有左儿女,没有右儿女,对它分别进行中序遍历和后序遍历,则具备相同的成果。(√) 13. 算法和程序都应具备下面某些特性:输入,输出,确定性,有穷性,可行性。(√) 14. 二叉树是一棵无序树。(×) 15. 数据元素是数据的最小单位。(×) 16. 广义表的表头和表尾既能够是单元素,也能够是广义表。(×) 17. 假如两个串中含有相同的字符,则这两个串相等。(×) 18. 稀疏矩阵压缩存储后,必会失去随机存取功效
30、√) 19. 在对双向循环链表做删除一个结点操作时,应先将被删除结点的前驱结点和后继结点链接好再执行删除结点操作。(√) 20. 只有用面对对象的计算机语言才能描述数据结构算法。(×) 21. 栈和队列都是次序存取的线性表, 但它们对存取位置的限制不一样。(×) 22. 栈和队列都是限制取点的线性结构。(√) 23. 若某堆栈的输入序列为1,2,3,4,则4,3,1,2不也许是堆栈的输出序列之一。(√) 24. 数据的逻辑结构是指各数据元素之间的逻辑关系,是用户依照应用需要建立的。(√) 25. 单链表形式的队列,头指针F指向队列的第一个结点,尾指针R指向队列的最后一个结点。
31、 (×) 26. 堆栈、队列和数组的逻辑结构都是线性表结构。(×) 27. 链式栈与次序栈相比, 一个明显的优点是一般不会出现栈满的情况。(√) 28. 递归的算法简单、易懂、轻易编写,并且执行效率也高。(×) 29. 次序表和一维数组同样,都能够按下标随机(或直接)访问。(√) 30. 堆排序是所需辅助空间最少的排序。(√) 31. 在采取线性探测法处理冲突的散列表中,所有同义词在表中一定相邻。(×) 32. 对n个元素的表用堆排序法进行排序,时间复杂度是O(log2n)。(×) 33. 散列法存储的基本思想是由核心字的值决定数据的存储地址。(√) 34. 迅速排序法是一个
32、稳定性排序法。(×) 35. 堆排序是一个稳定的排序算法。(×) 36. 直接选择排序是一个稳定的排序措施。(×) 37. 当从一个最小堆中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到适宜位置为止。(√) 38. 在任何情况下,迅速排序需要进行核心码比较的次数都是O(nlog2n)。(×) 39. 进行折半查找的表必须是次序存储的有序表。(√) 40. 线性表的次序存储表示优于链式存储表示。(×) 41. 若一个有向图的邻接矩阵中对角线如下元素均为零,则该图的拓扑有序序列必然存在。(√) 42. 在n个结点的无向图中,若边数>n-1,则
33、该图必是连通图。(×) 43. 具备n个顶点的连通图的生成树具备n-1条边。(√) 44. 若图G的最小生成树不唯一,则G的边数一定多于n-1,并且权值最小的边有多条(其中n为G的顶点数)。(×) 45. 对于有向图,顶点的度分为入度和出度,入度是以该顶点为终点的入边数目;出度是以该顶点为起点的出边数目,该顶点的度等于其入度和出度之和。(√) 46. 无向图的邻接矩阵是对称的,有向图的邻接矩阵是不对称的。(√) 47. 线性表的逻辑次序与物理次序总是一致的。(×) 48. 对于AOE网络,任一核心活动延迟将导致整个工程延迟完成。(√) 49. 邻接矩阵适合用于稠密图(边数接近于顶
34、点数的平方),邻接表适合用于稀疏图(边数远小于顶点数的平方)。(√) 50. 邻接表只能用于有向图的存储,邻接矩阵对于有向图和无向图的存储都合用。(×) 51. 假如有向图中各个顶点的度都不小于2,则该图中必有回路。(×) 52. 对于AOE网络,加速任一核心活动就能使整个工程提前完成。(×) 53. 用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小只与图中的顶点个数有关,而与图的边数无关。(√) 54. 图的深度优先搜索是一个经典的回溯搜索的例子,能够通过递归算法求解。(√) 55. 在AOE网络中一定只有一条核心途径。(×) 56. 用一组地址连续的存储单元存储的元素一定组成线性表。(×) 57. 线性表若采取链式存储表示, 在删除时不需要移动元素。(√) 1.






