数据结构试题库.docx
- 文档编号:388588
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:34
- 大小:273.64KB
数据结构试题库.docx
《数据结构试题库.docx》由会员分享,可在线阅读,更多相关《数据结构试题库.docx(34页珍藏版)》请在冰豆网上搜索。
数据结构试题库
Test1
一、单项选择题(每题2分,共30分)
1.若某线性表中最常用的操作是取第存储方式最节省时间。
A)单链表表D)顺序表
2.串是任意有限个(
A)符号构成的序列
C)字符构成的序列
3.设矩阵A的任一元素aij(1wi,j
aij工0;(i>j,1wi,jw10)aij=0;(i 现将A的所有非0元素以行序为主序存放在首地址为个单元,则元素A[9,5]的首地址为()。 A)2340B)2336 2164D)2160 4.如果以链表作为栈的存储结果,则出栈操作时( A)必须判别栈是否为满 C)必须判别栈是否为空 5.设数组Data[O..m]作为循环队列SQ的存储空间,则执行出队操作的语句为()。 A)front=front+1 m C)rear=(rear+1)%m 6.深度为6(根的层次为1)的二叉树至多有() A)64B)32 31D)63 7.将含100个结点的完全二叉树从根这一层开始,的编号为1。 编号为49的结点X的双亲的编号为( A)24B)25 23D)无法确定 8.设有一个无向图和,如果为的生成树,则下面不正确的说法是( A)为的子图 C)为的极小连通子图且D)为的一个无环子图 9.用线性探测法查找闭散列表,可能要探测多个散列地址,这些位置上的键值( A)一定都是同义词B) C)多相同都是同义词 10.二分查找要求被查找的表是( A)键值有序的链接表 有序 C)键值有序的顺序表 有序 11.当初始序列已经按键值有序,用直接插入算法对其进行排序,需要循环的次数为( i个元素和找第 B)双链表 元素 )。 w10)满足: )。 i个元素的前趋元素,则采用( C)单向循环链 B)符号构成的集合 D)字符构成的集合 2000的存储区域中,每个元素占有 )。 front 结点。 C) 对栈不作任何判别判别栈元素的类型为队头指针,rear为队尾指针 B) D) B)front=(front+1) D)front=(front+1)%(m+1) C) 每层上从左到右依次堆结点编号, 根结点 )。 C) B) )。 为的连通分量 )。 定都不是同义词 D)不一定 B)链接表但键值不一定 D)顺序表但键值不一定 )。 D)n-1 12.堆是一个键值序列,对,满足()。 A) B) C)且()D)或() 13.使用双向链表存储数据,其优点是可以( )。 A)提高检索速度 B) 很方便地插入和 删除数据 C)节约存储空间 D) 很快回收存储空 间 14.设计一个判别表达式中左右括号是否配对出现地算法,采用( )数据结构最佳。 A)线性表地顺序存储结构 B)栈 C)队列 D)线性表 A) B) C) 达的链式存储结构 15.设深度为k的二叉树上只有度为0和2的结点,则此类二叉树中所含的结点数至少为()。 A)k+1 1 二、填空题(每空2分,共28分) 1.设r指向单链表的最后一个结点,要在最后一个结点之后插入s所指的结点,需执行的三 条语句是r=s;r->next=NULL。 2.在单链表中,指针p所指结点为最后一个结点的条件是。 3.设一个链栈的栈顶指针是ls,栈中结点格式为,栈空的条 件为。 如果栈不为空,则出栈操作为p=ls;;free(p)。 4.已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该 树有个叶子结点。 5.树有三种常用的存储结构,即孩子链表法,孩子兄弟链表法和。 6.n个顶点的连通图的生成树有条边。 7.一个有向图G中若有弧、和,则在图G的拓扑序列中,顶点的相对位置为‘ 8.设表中元素的初始状态是按键值递增的,分别用堆排序、快速排序、冒泡排序和归并排序 方法对其进行排序(按递增顺序),最省时间,最费时间。 9.下面是将键值为x的结点插入到二叉排序树中的算法,请在划线处填上适当的内容。 Typedefstructpnode {intkey; structnode*left,*right; } Voidsearchinsert(intx;pnodet) /*t为二叉排序树根结点的指针*/ {if() {p=malloc(size);p->key=x;p->left=NULL;p->right=NULL;t=p; else if(x else } 10.线性表的的主要优点是从表中任意结点出发都能访问到所有结点。 而使用 ,可根据需要在前后两个方向上方便地进行查找。 三、应用题(每题10分,共30分) 1.在双链表中,要在指针变量P所指结点之后插入一个新结点,请按顺序写出必要的算法步 骤。 (设: P所指结点不是链表的首尾结点,q是与p同类型的指针变量) 2.已知待排序文件各记录的排序码顺序如下: 7273712394160568请列出快速排序过程中每一趟的排序结果。 四、算法题(共12分)编写算法,实现单链表上的逆置运算(说明: 即将单链表中的元素次序反转) 《数据结构》2004学年面授试卷答案 一、单项选择题(每题2分,共30分) 1.D2.C3.D4.C5.D6.D7.A8.B9.D10.C 11.D12.C13.A14.B15.C 二、填空题(每空2分,共28分) 1.r->next=s;2.p->next=NULL; 3.ls==NULL;ls=ls->link。 4.12 5.双亲表示法6.n-1 7.i,j,k8.冒泡排序,快速排序 9.t==NULL,searchinsert(x,t->right);10.循环链表,双向链表 三、应用题(每题10分,共30分) 1.new(q); qf .llink JP; qf .rlink Jpf.rlink; pf .rlink f.llinkJq; Pf .rlink Jq。 评分细则: 按顺序每对一个给 2分,全对计10分。 2.各趟结果如下: [6805712316] 72 [94 73] [160523]68[71] 72 [94 73] [05]16[23]68[71] 72 [94 73] 0516[23]68[71] 72 [94 73] 0516236871 72 [94 73] 0516236871 72 [73]94 0516236871 72 73 94 四.算法题(共12分) voidinvert(pointerhead) {p=NULL; while(head<>NULL) {u=head; head=head->next; u->next=p; p=u; } head=p; } 写出向二叉排序树中插入一个元素的非递归算法。 单项选择题(2分/题) 一个栈的输入序列为12345,则下列序列中是栈的输出序列的是(A)。 (r-f+n)modn 3.二叉树在线索化后,仍不能有效求解的问题是(D)。 A.先序线索二叉树中求先序后继B.中序线索二叉树中求中序后继C.中序线索二叉树中求中序前驱D.后序线索二叉树中求后序后继 4.求最短路径的FLOYD算法的时间复杂度为(D)。 A.O(n)B.O(n+e)C.O(n2)D. O(n3) 5.一棵左右子树不空的二叉树在先序线索化后,其空指针域数为(B)。 A.0B.1C.2D.不确定 6.数组A[1..5,1..6]的每个元素占5个单元,将其按行优先顺序存储在起始地址 为1000的连续的内存单元中,则元素A[5,5]的地址为(A)。 A.1140B.1145C.1120D.1125 7.在下列排序算法中,在待排序的数据表已经为有序时,花费时间反而最多的是 (A)。 A.快速排序B.希尔排序C.冒泡排 序D.堆排序 8.对有18个元素的有序表做折半查找,则查找A[3]的比较序列的下标依次为 (C)。 A.1-2-3B.9-5-2-3C.9-5-3D.9-4-2-3 9.下列排序算法中,某一趟结束后未必能选出一个元素放在其最终位置上的是 D)。 A.堆排序B.冒泡排序C.快速排序D.直 接插入排序 10.在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡点为A,并已 知A的左孩子的平衡因子为-1,右孩子的平衡因子为0,则做(B)型调整以使其平衡。 A.LLB.LRC.RLD.RR 2.判断题(1分/题) 1.线性表的长度是线性表所占用的存储空间的大小。 F 2.双循环链表中,任意一结点的后继指针均指向其逻辑后继。 F 3.在对链队列做出队操作时,不会改变front指针的值。 F 4.如果两个串含有相同的字符,则说它们相等。 F 5.如果二叉树中某结点的度为1,则说该结点只有一棵子树。 T 6.已知一棵树的先序序列和后序序列,一定能构造出该树。 F 7.图G的一棵最小代价生成树的代价未必小于G的其它任何一棵生成树的代价。 T 8.图G的拓扑序列唯一,则其弧数必为n-1(其中n为顶点数)。 F 9.对一个堆按层次遍历,不一定能得到一个有序序列。 T 10.直接选择排序算法满足: 其时间复杂度不受数据的初始特性影响,为O(n2)。 T 3.填空题(2分/空) 1.已知完全二叉树的第8层有8个结点,则其叶子结点数是(68)。 68+8-4 2.将下三角矩阵A[1..8,1..8]的下三角部分逐行地存储到起始地址为1000的内存单元中,已知每个元素占4个单元,则A[7,5]的地址是(1100)。 3.有n个顶点的强连通有向图G至少有(n)条弧。 4.有n个结点并且其高度为n的二叉树的数目是(2A(n-1))。 5.高度为8的平衡二叉树的结点数至少是(54)。 6.3个结点可构成(5)棵不同形态的树。 7.给出冒泡排序和快速排序的最好情况、平均情况和最坏情况下的时间复杂度。 四、设计一个算法,判断一个算术表达式中的括号是否配对。 算术表达式保存在带表头结点的单循环链表中,每个结点有两个域: ch和link,其中ch域为字符类型。 南开大学98考研题 一、(8分)给出数组A: ARRAY[3..8,2..6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 试题库