《数据结构》复习题题库.doc

上传人:文库蛋蛋多 文档编号:4126465 上传时间:2023-04-06 格式:DOC 页数:24 大小:274KB
返回 下载 相关 举报
《数据结构》复习题题库.doc_第1页
第1页 / 共24页
《数据结构》复习题题库.doc_第2页
第2页 / 共24页
《数据结构》复习题题库.doc_第3页
第3页 / 共24页
《数据结构》复习题题库.doc_第4页
第4页 / 共24页
《数据结构》复习题题库.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《《数据结构》复习题题库.doc》由会员分享,可在线阅读,更多相关《《数据结构》复习题题库.doc(24页珍藏版)》请在三一办公上搜索。

1、一、单项选择题(本大题共71小题,每小题2分,共142分)1、一个对象序列的排序码为46,79,56,38,40,84,采用快速排序以位于最左位置的对象为基准而得到的第一次划分结果为( C )。( ) A38,46,79,56,40,84 B38,79,56,46,40,84 C40,38,46,56,79,84 D38,46,56,79,40,84标准答案:C2、广义表(a),a)的表头是( C )。( ) Aa Bb C(a) D(a)标准答案:C3、数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是

2、( C )。( ) A80 B100 C240 D270标准答案:C4、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。( ) AHL=p;p-next=HL; Bp-next=HL;HL=p; Cp-next=HL;p=HL; Dp-next=HL-next;HL-next=p;标准答案:B5、一个具有n个顶点的无向完全图的边数为( )。( ) A(n+1)/2 Bn(n-1)/2 Cn(n-1) Dn(n+1)标准答案:B6、如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。下列选项中,( )就是不稳定的排序方法。( ) A

3、起泡排序 B归并排序 C直接插入法排序 D简单选择排序标准答案:D7、按照二叉树的定义,具有3个结点的二叉树有( )种。( ) A3 B4 C5 D6标准答案:C8、设有1000个元素,用二分法查找时,最大比较次数是( )。( ) A1 B7 C10 D25标准答案:C9、树适合用来表示( )。( ) A有序数据元素 B无序数据元素 C元素之间具有分支层次关系的数据 D元素之间无联系的数据标准答案:C10、设有两个串p和q,求p在q中首次出现的位置的运算称作( )。( ) A连接 B模式匹配 C求子串 D求串长标准答案:B11、将含100个结点的完全二叉树从根这一层开始,每层上从左到右依次对结

4、点编号,根结点的编号为1。编号为49的结点X的双亲编号为( )。( ) A23 B24 C25 D无法确定标准答案:A12、串的长度是( )。( ) A串中不同字符的个数 B串中不同字母的个数 C串中所含字符的个数且字符个数大于0 D串中所含字符的个数标准答案:D13、已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( )。( ) Aacbed Bdecab Cdeabc Dcedba标准答案:D14、顺序表中逻辑上相邻的节点其物理位置也( )。( ) A一定相邻 B不必相邻 C按某种规律排列 D无要求标准答案:A15、数据结构是研究数据的( )以及它们之间

5、的相互关系。( ) A理想结构,物理结构 B理想结构,抽象结构 C物理结构,逻辑结构 D抽象结构,逻辑结构标准答案:C16、由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。( ) A24 B48 C53 D72标准答案:C17、某二叉树的先序序列和后序序列正好相反,则该二叉树一定是( )的二叉树。( ) A空或只有一个结点 B高度等于其结点数 C任一结点无左孩子 D任一结点无右孩子标准答案:B18、下列排序算法中,( )排序在每趟结束后不一定能选出一个元素放到其排好序的最终位置上。( ) A选择 B冒泡 C归并 D堆标准答案:C19、广义表(a,b,c,d)

6、的表尾是( )。( ) Aa Bb C(a,b) D(b,c,d)标准答案:D20、具有65个结点的完全二叉树其深度为( )。( ) A8 B7 C6 D5标准答案:B21、在内部排序中,排序时不稳定的有( )。( ) A插入排序 B冒泡排序 C快速排序 D归并排序标准答案:C22、向堆中插入一个元素的时间复杂度为( )。( ) AO(log2n) BO(n) CO(1) DO(nlog2n)标准答案:A23、在一个单链表HL中,若要在指针q所指的结点的后面插入一个由指针p所指的结点,则执行( )。( ) Aq-next=p-next;p-next=q; Bp-next=q-next;q=p;

7、 Cq-next=p-next;p-next=q; Dp-next=q-next;q-next=p;标准答案:D24、线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。( ) A必须是连续的 B部分地址必须是连续的 C一定不是连续的 D连续不连续都可以标准答案:D25、设有向图有n个顶点和e条边,采用领接表作为其存储表示,在进行拓扑排序时,总的计算时间为( )。( ) AO(nlog2e) BO(n+e) CO(ne) DO(n2)标准答案:B26、队列操作的原则是( )。( ) A先进先出 B后进先出 C只能进行插入 D只能进行删除标准答案:A27、在稀疏矩阵的带行指针向量的链

8、接存储中,每个行单链表中的结点都具有相同的( )。( ) A行号 B列号 C元素值 D地址标准答案:A28、线性链表不具有的特点是( )。( ) A随机访问 B不必事先估计所需存储空间大小 C插入与删除时不必移动元素 D所需空间与线性表长度成正比标准答案:A29、组成数据结构的基本单位是( )。( ) A数据项 B数据类型 C数据元素 D数据变量标准答案:C30、设循环队列Q1.N-1的头尾指针为F,R,当插入元素时尾指针R加1,头指针F总是指在队列中第一个元素的前一个位置,则队列中元素计数为( )。( ) AR-F BN-(R-F) C(R-F+N)%N D(F-R+N)%N标准答案:C31

9、、在一个无向图中,所有顶点的度数之和等于所有边数的( )倍。( ) A3 B2 C1 D1/2标准答案:B32、若线性表最常用的操作是存取第i个元素及其前趋的值,则采用( )存储方式节省时间。( ) A单链表 B双链表 C单循环链表 D顺序表标准答案:D33、若待排序对象序列在排序前已按其排序码递增顺序排序,则采用( )方法比较次数最少。( ) A直接插入排序 B快速排序 C归并排序 D直接选择排序标准答案:A34、下面程序段的时间复杂度为( )。 for(int i=0; im; i+) for(int j=0; jnext=p-next-next Bp=p-next Cp=p-next-n

10、ext Dp-next=p标准答案:A65、栈的插入与删除操作在( )进行。( ) A栈顶 B栈底 C任意位置 D指定位置标准答案:A66、广义表(a),其表头是( )。( ) Aa B(a) C() D(a)标准答案:B67、线索化二叉树中某结点D,没有左孩子的主要条件是( )。( ) AD-Lchild=Null BD-ltag=1 CD-Rchild=Null DD-ltag=0标准答案:B68、在有n个叶子结点的哈夫曼树中,其结点总数为( )。( ) A不确定 B2n C2n+1 D2n-1标准答案:D69、从一个循环顺序队列删除元素时,首先需要( )。( ) A前移一位队首指针 B后

11、移一位队首指针 C取出队首指针所指位置上的元素 D取出队尾指针所指位置上的元素标准答案:B70、Substr(DATA STRUCTURE,5,9)=( )。( ) ASTRUCTURE BASTUCTUR CDATA STRUCTRUE标准答案:A71、二分查找要求被查找的表是( )。( ) A键值有序的链接表 B链接表但键值不一定有序 C键值有序的顺序表 D顺序表但键值不一定有序标准答案:C二、填空题(本大题共48小题,每小题2分,共96分)72、数据的存储结构被分为顺序结构、链接结构、_、散列结构四种。标准答案:索引结构73、数据的存储结构被分为顺序结构、链接结构、索引结构、_四种。标准

12、答案:散列结构74、在双向链表中每个结点包含有两个指针域,一个指向其_结点,另一个指向其_结点。标准答案:前驱;后继75、在一个图中,所有顶点的度数之和等于所有边数的_倍。标准答案:276、对于一棵具有n个结点的树,该树中所有结点的度数之和为_。标准答案:n-177、假定一棵树的广义表表示为A(B(C(D,E),F,G(H,I,J),K),则度为3的结点数为_个。标准答案:278、一个算法应具备的5个特性为_、确定性、可行性、输入、输出。标准答案:有穷性79、一个算法应具备的5个特性为有穷性、_、可行性、输入、输出。标准答案:确定性80、以二分查找方法从长度为12的有序表中查找一个元素时,平均

13、查找长度为_。标准答案:37/1281、对于线性表(18,25,63,50,42,32,90)进行散列存储时,若选用H(K)=K % 9作为散列函数,则散列地址为0的元素有_个,散列地址为5的元素有_个。标准答案:3;282、数据的存储结构被分为顺序结构、_、索引结构、散列结构四种。标准答案:链接结构83、对于一个具有n个顶点的图,若采用邻接矩阵表示,则矩阵大小为_。标准答案:n*n84、在双向循环链表中,在指针p所指的结点之后插入指针f所指的结点,其操作为_。标准答案:(1)f-next=p-next; (2)p-next-prior=f; (3)f-prior=p; (4)p-next=f

14、;85、对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为_,在表尾插入元素的时间复杂度为_。标准答案:O(n);O(1)86、中缀表达示3+X*(2.4/5-6)所对应的后缀表达示为_。标准答案:3 x 2.4 5 6 *87、假定一棵树的广义表表示为A(B(C(D,E),F,G(H,I,J),K),则度为0的结点数为_个。标准答案:788、对于线性表(18,25,63,50,41,32,90,66)进行散列存储时,若选用H(K)=K%11作为散列函数,则散列地址为3的元素有_个,散列地址为8的元素有_个。标准答案:1;289、中缀算术表达式3+4/(25-(6+15)*8 所

15、对应的后缀算术表达式为_。标准答案:3 4 25 6 15 + - / 8 * +90、快速排序在平均情况下的时间复杂度为_,在最坏情况下的时间复杂度为_。标准答案:O(nlog2n);O(n2)91、前序序列和中序序列相同的二叉树为_。标准答案:单右枝二叉树或孤立结点92、每次从无序表中顺序取出一个元素,把它插入到有序表中的适当位置,此种排序方法叫做_排序。标准答案:插入93、一个n*n的对称矩阵,如果以行或列为主序存入内存,则其容量为_。标准答案:n(n+1)/294、后缀表达式“2 10 + 5 * 6 9 / ”的值为_。标准答案:695、对于一棵二叉树,若一个结点的编号为i,则它的左

16、孩子结点的编号为_,右孩子结点的编号为_。标准答案:2i;2i+196、假定一棵二叉树的结点数为18,则它的最小深度为_,最大深度为_。标准答案:5;1897、从一个栈删除元素时,首先取出_。标准答案:栈顶元素98、在线性表的_存储中,对每一个元素只能采用顺序查找。标准答案:链接99、一棵深度为5的满二叉树中的结点数为_个。标准答案:31100、一个算法应具备的5个特性为有穷性、确定性、_、输入、输出。标准答案:可行性101、在线性表的单链接存储结构中,每个结点包含有两个域,一个叫_域,另一个叫_域。标准答案:元素值;指针102、当从一个小根堆中删除一个元素时,需要把堆尾元素填补到_位置,然后

17、再按条件把它逐层_调整。标准答案:堆顶;向下103、假定一棵树的广义表表示为A(B(C(D,E),F,G(H,I,J),K),则度为2的结点数为_个。标准答案:2104、从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为_和_。标准答案:1;3105、在散列表(Hash)查找中,评判一个散列函数优劣的两个主要条件是:_和_。标准答案:值均匀分布于表空间以减少冲突;函数尽可能简单以方便计算106、后缀算术表达式24 8 + 3 * 4 10 7 - * / 所对应的中缀算术表达式为_,其值为_。标准答案:(24+8)*3/(4*(10-7)

18、 ;8107、在一个单链表HL 中,若要向表头插入一个由指针p指向的结点,则应执行语句:_。标准答案:p-next=HL;HL=p;108、假定一组记录的排序码为(46,79,56,38,40,80,25,34),在对其进行快速排序的过程中,进行第一次划分后得到的排序码序列为 _。标准答案:(40,34,25,38,46,80,56,79)109、对于线性表(18,25,63,50,41,32,90,66)进行散列存储时,若选用H(K)=K%11作为散列函数,则散列地址为0的元素有_个散列地址为8的元素有_个。标准答案:1;2110、若对一棵二叉树的结点编号从0开始顺序编码,按顺序存储,把编号

19、为0的结点存储到a0中,其余类推,则ai元素的左孩子元素为_,右孩子元素为_。标准答案:2i+1;2i+2111、在一个具有n个顶点的无向完全图中,包含有_条边,在一个具有n个顶点的有向完全图中,包含有_条边。标准答案:n(n-1)/2;n(n-1)112、在一棵高度为h的3叉树中,最多含有_结点。标准答案:(3h-1)/2113、对于一个顺序实现的共享栈S1n,栈顶指针分别为top1和top2,top1由小到大,top2由大到小,其判断下溢的条件是_;判断上溢的条件是_。标准答案:top1=0或top2=n+1;top1+1=top2114、在循环双向链表中表头结点的左指针域指向_结点,最后

20、一个结点的右指针域指向_结点。标准答案:表尾;表头115、每次从无序表中挑选出一个最大或最小元素,把它交换到有序表中的一端,此种排序方法叫做_排序。标准答案:选择116、对于一个以顺序实现的循环队列Q0.m-1,队头、队尾指针分别为f,r,其判空的条件是_,判满的条件是_。标准答案:r=f;(r+1)%m=f117、假定一棵树的广义表表示为A(B(C(D,E),F,G(H,I,J),K),则度为1的结点数为_个。标准答案:0118、在一棵树中,_没有前驱结点。标准答案:树概结点119、以二分查找方法查找一个线性表时,此线性表必须是_存储的_表。标准答案:顺序;有序三、简答题(本大题共20小题,

21、每小题10分,共200分)120、已知一棵二叉树的中序遍历结果为DBHEAFICG,前序遍历结果为ABDEHCFIG,请画出该二叉树。标准答案:121、(2.80)标准答案:122、对于结点类型为Lnode的单链表,以下算法的功能为:_。void BB( LNode *& HL)LNode *p=HL; HL=NULL;while (p!=NULL)LNode *q=p;p=p-next;q-next=HL;HL=q;标准答案:将一个单链表按逆序链接。123、下面递归算法的功能是_。 void unknown(ListNode *f,Type &x) /指针f 是带表头结点的单链表的表头指针,

22、数值x是给定值。ListNode * temp; if (f-link!=NULL) while(f-linkdata=x) temp= f-link; f-link= temp-link ;delete temp; unknown(f-link , x); 标准答案:在单链表中删除所有值为x的结点。124、以下为向以BST为树根指针的二叉搜索树上插入值为item的结点的递归算法。请在横线处将程序补充完整。 Void Insert(BtreeNode*&BST,const ElemType&item) if(BST=NULL) BTreeNode* p=new BTreeNode; p-dat

23、e=item; _; BST=p;else if(itemdate) _;else_;(2.80)标准答案:p-left=p-right=NULLInsert(BST-left,item)Insert(BST-right,item)125、设有顺序表中的元素依次为017,094,154,170,275,503,512,553,612,677,765,897,908。试画出对其进行折半搜索时做性能分析用的扩充二叉搜索树(判定树),并计算搜索成功时的平均搜索长度(ASLsucc)和搜索不成功进的平均搜索长度(ASLunsucc)。标准答案:126、下列算法执行后得到的线性表La为:_。void B

24、B(List &La)InitList(La);int a=78,26,56,27,34,42;for(i=0; i3; i+)InsertFront(La,ai);for(i=3; i6; i+)InsertRear(La,ai);TraverseList(La);标准答案:(56,26,78,27,34,42)127、以上算法的功能为:_。void BB(List &L)int i=0;while (iL.size)int j=i+1;while (jL.size)if(L.listj = =L.list)for (int k=j+1;kL.size;k+)L.listk-1=L.list

25、k;L.size-;else j+;i+;标准答案:删除线性表中所有重复的元素。128、执行下面函数调用后得到的输出结果是_。void AF(Queue & Q) InitQueue(Q); int a4 = 5,8,12,15 ; for ( int i=0; i4; i+ ) QInsert(Q,ai); QInsert(Q,QDelete(Q); QInsert(Q,30); QInsert(Q,QDelete(Q)+10); while ( ! QueueEmpty(Q) ) coutQDelete(Q)data=item; LNode *p=HL; while ( p-next!=H

26、L ) p=p-next;newptr-next=HL;p-next=newptr;标准答案:向单链表的末尾添加一个元素。131、标准答案:(3,4)5,(0,1)8,(4,5)9,(4,7)10,(2,4)14,(1,3)15,(4,6)31132、已知一棵二叉树的前序遍历的结果序列是ABECKFGHIJ,中序遍历的结果是EBCDAFHIGJ,试写出这棵二叉树的后序遍历结果。标准答案:EDCBIHJGFA133、以下算法用于实现“计算二叉数的的深度”。请在空白处填写语句,将程序补充完整。int BtreeDepth (BTreeNode *BT)if (BT= =NULL)return 0;

27、elseint dep1,dep2;dep1=_;dep2=_;if (dep1dep2)_;return_;标准答案:BtreeDepth(BT-left)BtreeDepth(BT-right)return rep1+1rep2+1134、假定一个待散列存储的线性表为 (37,65,25,73,42,91,45,36,18,75), 散列地址空间为HT12,若采用除留余数法构造散列函数和链接法处理冲突,试求出每一元素的散列地址,画出最后得到的散列表,求出平均查找长度。标准答案:135、假定调用以下算法时栈 S 中已有2个元素(23,16),其中23是栈底。则调用后得到的栈内容为(从栈底开始排列):_void CC( Stack &S)Pop(S);Push(S,50);Push(S,45);Peek(S);标准答案:23,50,45136、对于结点类型为LNode的单链表,以下算法的功能为:_int AA(LNode *HL , ElemType x) int n=0; LNode *p=HL;while (p!=NULL) if (p-data= =x) n+; p=p-next;return n;标准答案:统计单链表中

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号