数据结构选择题大全一、单选题1.对一个算法的评价,不包括如下()方面的内容。A.健壮性和可读性B.并行性C.正确性D.时空复杂度2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行()。A.p-next=HL-next;HL-next=p;B.p-next=HL;HL=p;C.p-next=HL;p=HL;D.HL=p;p-next=HL;3.对线性表,在下列哪种情况下应当采用链表表示?()A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.一个栈的输入序列为123,则下列序列中不可能是栈的输出序列的是()A.231B.321C.312D.1235.AOV网是一种()。A.有向图B.无向图C.无向无环图D.有向无环图6.采用开放定址法处理散列表的冲突时,其平均查找长度()。A.低于链接法处理冲突B.高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。A.值B.函数C.指针D.引用8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。A.行号B.列号C.元素值D.非零元素个数9.快速排序在最坏情况下的时间复杂度为()。A.O(log2n)B.O(nlog2n)C.0(n)D.0(n2)10.从二叉搜索树中查找一个元素时,其时间复杂度大致为()。A.O(n)B.O(1)C.O(log2n)D.O(n2)11.栈和队列的共同特点是()。A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点12.用链接方式存储的队列,在进行插入运算时().A.仅修改头指针B.头、尾指针都要修改C.仅修改尾指针D.头、尾指针可能都要修改13.以下数据结构中哪一个是非线性结构?()A.队列B.栈C.线性表D.二叉树14.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。()A.688B.678C.692D.69615.树最适合用来表示()。A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据16.二叉树的第k层的结点数最多为().A.2的k次方-1B.2的K次方+1C.2K-1D.2的k-1次方17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为()A.1,2,3B.9,5,2,3C.9,5,3D.9,4,2,318.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为()A.O(1)B.O(n)C.O(1og2n)D.O(n2)19.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K%9作为散列函数,则散列地址为1的元素有()个,A.1B.2C.3D.420.设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图。A.5B.6C.7D.821、在一个长度为n的顺序线性表中顺序查找值为x的元素时,查找成功时的平均查找长度(即x与元素的平均比较次数,假定查找每个元素的概率都相等)为()。AnBn/2C(n+1)/2D(n-1)/222、在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p之间插入一个s所指的结点,则执行()。As→link=p→link;p→link=s;Bp→link=s;s→link=q;Cp→link=s→link;s→link=p;Dq→link=s;s→link=p;23、栈的插入和删除操作在()进行。A栈顶B栈底C任意位置D指定位置24、由权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()A24B71C48D5325.算法指的是()A.计算机程序B.解决问题的计算方法C.排序算法D.解决问题的有限运算序列26.线性表采用链式存储时,结点的存储地址()A.必须是不连续的B.连续与否均可C.必须是连续的D.和头结点的存储地址相连续27.将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为()A.O(1)B.O(n)C.O(m)D.O(m+n)28.由两个栈共享一个向量空间的好处是:()A.减少存取时间,降低下溢发生的机率B.节省存储空间,降低上溢发生的机率C.减少存取时间,降低上溢发生的机率D.节省存储空间,降低下溢发生的机率29.设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为()A.front=front+1B.front=(front+1)%(m-1)C.front=(front-1)%mD.front=(front+1)%m30.如下陈述中正确的是()A.串是一种特殊的线性表B.串的长度必须大于零C.串中元素只能是字母D.空串就是空白串31.若目标串的长度为n,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是()A.O(n3)B.O(n)C.O(n2)D.O(n3)32.一个非空广义表的表头()A.不可能是子表B.只能是子表C.只能是原子D.可以是子表或原子33.假设以带行表的三元组表表示稀疏矩阵,则和下列行表02335对应的稀疏矩阵是()A.08067000000050400000B.08067000504000000300C.08060000020050400000D.0806000070005040030034.在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为()A.4B.5C.6D.735.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为()A.eB.2eC.n2-eD.n2-2e36.假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某个顶点vi相关的所有弧的时间复杂度是()A.O(n)B.O(e)C.O(n+e)D.O(n*e)37.用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84则所采用的排序方法是()A.选择排序B.希尔排序C.归并排序D.快速排序38.适于对动态查找表进行高效率查找的组织结构是()A.有序表B.分块有序表C.三叉排序树D.线性链表39.不定长文件是指()A.文件的长度不固定B.记录的长度不固定C.字段的长度不固定D.关键字项的长度不固定40.组成数据的基本单位是()。(A)数据项(B)数据类型(C)数据元素(D)数据变量41.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={1,2,2,3,3,4,4,1},则数据结构A是()。(A)线性结构(B)树型结构(C)图型结构(D)集合42.数组的逻辑结构不同于下列()的逻辑结构。(A)线性表(B)栈(C)队列(D)树43.二叉树中第i(i≥1)层上的结点数最多有()个。(A)2i(B)2的i次方(C)2的i-1次方(D)2的i次方-144.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为()。(A)p-next=p-next-next(B)p=p-next(C)p=p-next-next(D)p-next=p45.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是()。(A)6(B)4(C)3(D)246.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为()。(A)100(B)40(C)55(D)8047.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为()。(A)3(B)4(C)5(D)148.根据二叉树的定义可知二叉树共有()种不同的形态。(A)4(B)5(C)6(D)749.设有以下四种排序方法,则()的空间复杂度最大。(A)冒泡排序(B)快速排序(C)堆排序(D)希尔排序50.下面关于线性表的叙述错误的是()。(A)线性表采用顺序存储必须占用一片连续的存储空间(B)线性表采用链式存储不必占用一片连续的存储空间(C)线性表采用链式存储便于插入和删除操作的实现(D)线性表采用顺序存储便于插入和删除操作的实现51.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。(A)2m-1(B)2m(C)2m+1(D)4m52.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。(A)R-F(B)F-R(C)(R-F+M)%M(D)(F-R+M)%M53.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。(A)BADC(B)BCDA(C)CDAB(D)CBDA54.设某完全无向图中有n个顶点,则该完全无向图中有()条边。(A)n(n-1)/2(B)n(n-1)(C)n2(D)n2-155.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。(A)9(B)10(C)11(D)1256.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。(A)n-1(B)n(C)n+1(D)2n-157.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。(A)2,3,5,8,6(B)3,2,5,8,6(C)3,2,5,6,8(D)2,3,6,5,858.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={01,02,01,03,01,04,02,05,02,06,03,07,03,08,03,09},则数据结构A是()。(A)线性结构(B)树型结构(C)物理结构(D)图型结构59.下面程序的时间复杂为()for(i=1,s=0;i=n;i++){t=1;for(j=1;j=i;j++)t=t*j;s=s+t;}(A)O(n)(B)O(n2)(C)O(n3)(D)O(n4)60.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为()。(A)q=p-next;p-data=q-data;p-next=q-next;free(q);(B)q=p-next;q-data=p-data;p-next=q-next;free(q);(C)q=p-next;p-next=q-next;free(q);(D)q=p-next;p-data=q-data;free(q);61.设有n个待排序的记录关键字,则在堆排序中需要()个辅助记录单元。(A)1(B)n(C)nlog2n(D)n262.设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为()。(A)10,15,14,18,20,36,40,21(B)10,15,14,18,20,40,36,21(C)10,15,14,20,18,40,36,2l(D)15,10,14,1