数据结构期末复习题.docx_第1页
数据结构期末复习题.docx_第2页
数据结构期末复习题.docx_第3页
数据结构期末复习题.docx_第4页
数据结构期末复习题.docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、选择题(每题2分共20分)1若长度为n的线性表(a1, a2, an)采用顺序存储,删除它的第i个数据元素,需要依次向前移动 个数据元素。 A. n-i B. n+i C.n-i+1 D.n-i-12 在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行_。A. p-next=q-next; q-next=p;B. q-next=p-next; p=q;C. p-next=q-next; p-next=q;D. q-next=p-next; p-next=q;3栈是一种 的线性表。A. 只允许在一端进行插入和在另一端进行删除 B. 只允许在一端进行插入和删除 C. 只允许在两端进行插入和删除 D. 允许在中间部位进行插入和删除4算术表达式ab+c/d的逆波兰式是_。 A. abcd+/ B. abc/d+ C. abcd/+ D. ab+cd/5循环队列用数组A0,m-1存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是()。A(rear-front+m)%mBread-front+1Cread-front-1 Dread-front6设二维数组a0m-10n-1按行优先顺序存储在首地址为loc(a00)的存储区域中,每个元素占d个单元,则aij的地址为_。A. loc(a00) +( in+ j) d B. loc(a00) +(jm+i) d C. loc(a00) +(j-1)n+i-1) d D. loc(a00) +(j-1)m+i-1) d7对于二叉树来说,第i层上至多有_个结点。 A2i B 2i-1 C2i-1 D2i-1-18有一个有序表为1,3,9,12,32,41,45,62,75,77,82,95,100,当二分查找值为82的结点时,( )次比较后查找成功。A1 B2 C4 D89设哈希表长m=11,哈希函数H(key)=key%11。表中已有4个结点:addr(15)=4, addr(38)=5,addr(61)=6,addr(84)=7,其余地址为空,如果线性探测再散列处理冲突,关键字为49的结点地址是 。 A3 B5 C8 D910用某种排序方法对线性表(25,84,21,47,15,27,68,35,20)进行排序时,元素序列的变化情况如下:25,84,21,47,15,27,68,35,2015,84,21,47,25,27,68,35,2015,20,21,47,25,27,68,35,8415,20,21,25,47,27,68,35,84 15,20,21,25,27,35,47,68,84则采用的排序方法是( )。A冒泡排序 B快速排序 C归并排序 D选择排序二、求解题1已知二叉树的扩展前序序列:FKHBEGADC.请画出该二叉树并写出该树的中序和后序序列。(12分)2画出下列树对应的二叉树。(10分)3.给定无向图G=,其中V=a,b,c,d,e,E=(a,b),(a,e),(b,e),(b,c),(c,e),(e,d).请画出图G的邻接矩阵,邻接表。从结点a出发,分别写出按深度优先搜索法和广度优先搜索法进行遍历的结点序列。(12分)4从空的二叉排序树开始依次插入30,18,11,17,7,5,13,41,29,37,23,19。画出该二叉排序树。(9分)5分别写出对序列 10,18,11,17,7,5,13,41,29,37,23,19,25进行快速排序和冒泡排序的过程。(16分)三、写出下列算法的功能或输出结果1.typedef struct List int number; struct List *next; Node,*Link;void func1(Link p)/p指向单链表 while(p!=NULL) printf(“%dn”,p-number);p=p-next;功能是 。2.写出下列程序段的运行结果(栈中的元素类型是char): main() SEQSTACK s,*p; char x, y; p = &s; initstack(p); x = c; y = k; push(p,x); push(p,a); push(p,y); x = pop(p); push(p,t); push(p,s); while(!empty(p) y = pop(p); printf(%c,y); printf(%cn,x);运行结果是 。 3int func3 (int r , int n, int k) int i,low=0, high=n-1, mid, find=0; while (low=high &find=0) mid=(low+high)/2; if (krmid) low=mid+1;else imid;find=1;if (!find) return -1;return i;功能是 。四、读程填空1下列算法创建n个元素的带头单链表.typedef struct lnode int data; struct lnode *next; lnode,*linklist ; void create(linklist &head, int n) linklist p; int i; head=(linklist)malloc(sizeof(lnode); A ; for(i=n;i0;i-)p =(linklist)malloc(sizeof(lnode); scanf(“%d”,&p-data); B ; C ; 2完成下列插入排序算法。typedef struct nodeint key; int data;NODE;void insert(NODE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论