《数据结构概论》A卷
第一章数据结构概论习题

第一章概论习题一、选择题1.数据结构是具有【B 】的数据元素的集合。
A.相同性质B.相互关系C.相同运算D.数据项2.在计算机的存储结构中,逻辑上相邻的结点存储在物理位置上也相邻的连续存储单元里,称之为【 B 】。
A.逻辑结构B.顺序存储结构C.链式存储结构D.散列存储结构3.语句for(i=1;i<=n;i++) x++;的时间复杂度为【B 】。
A.O(1) B.O(n) C.O(n2) D.O(n3)4.下面不属于数据的存储结构的是【D 】。
A.散列存储B.链式存储C.索引存储D.压缩存储5.数据结构研究的是数据的【 A 】及它们之间的相互关系。
A.存储结构和逻辑结构B.存储和抽象C.理想与抽象D.理想与逻辑6.下面程序段的时间复杂度是【D 】。
for(i=0;i<2*n;i++)for(j=1;j<3*n;j++)A[i][j]=0;A.O(n) B.O(5n) C.O(6n2) D.O(n2) 7.数据的逻辑结构有两大类,分别是【 B 】。
A.顺序存储结构和链式存储结构B.线性结构和非线性结构C.压缩结构和非压缩结构D.有序结构和无序结构8.以下与数据的存储结构无关的术语是【D 】。
A.循环队列B.链表C.哈希表D.栈9.算法分析的两个主要方面是【A 】。
A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性10.下面程序段的时间复杂度是【D 】。
S=0;for(i=0;i<n;i++)for(j=0;j<m;j++)s=s+a[i][j];A.O(1) B.O(m+n) C.O(log2mn) D.O(m*n) 11.能够输入计算机并能被计算机处理的符号统称为【A 】。
A.数据B.数据元素C.数据结构D.数据类型12.以下属于逻辑结构的是【C 】。
A.顺序表B.哈希表C.有序表D.单链表13.线性结构的数据元素之间存在着【A 】的关系。
(完整版)中国海洋大学06-07数据结构第1学期A卷+答案

中国海洋大学命题专用纸(首页)2006学年第 1 学期试题名称:数据结构 (A卷) 共 2 页第 1 页专业年级:学号姓名授课教师分数一、简答下列术语:(10分)1、算法的时间复杂度2、栈与队列的异同3、完全二叉树、二叉排序树二、填空(10分)1、在双向循环链表L中,删除指针P所指结点的语句序列是,,free(p)。
2、将下三角矩阵A[1..8,1..8]的下三角部分逐行地存储到起始地址为1000的内存单元中.已知每个元素占4个单元,则A(6,4)的地址为。
3、高度为5的三阶B-树至少有个结点。
4、分别采用堆排序、快速排序、插入排序和归并排序算法对初始状态已为递增序列的数据表进行递增排序,最省时间的是算法。
三、(8分)已知一棵二叉树的中序序列是dcbgeahfijk,后序序列是dcegbfhkjia,请构造出该二叉树。
四、(10分)假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别是0.07,0.08,0.13,0.22,0.18,0.23,0.04,0.05。
请设计它们相应的哈夫曼编码。
使用0~7的二进制表示形式是另一种编码方案,请比较两种方案的优缺点。
五、(10分)设散列表地址空间为0..6,散列函数为H(x)=i mod 7,其中i为键值x中第一个字母在字母表中的序号,若键值的输入序列为Jen,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec,用链地址法处理冲突,1)构造散列表;2)求出在等概率情况下,查找成功时的平均查找长度。
六、(15分)(1)对下列数据表,写出采用希尔排序算法排序的每一趟的结果。
(100,12,20,31,1,5,44,66,61,200,30,80,150,4,8)(2)对下列数据表,写出采用快速排序算法排序的第一趟的结果。
(70,12,20,150,44,66,61,200,30,80,28)授课教师张海燕命题教师或命题负责人签字院系负责人签字年月日中国海洋大学命题专用纸(附页)if (!m) return 0;n=Paixu(T→rchild); if (!n) return 0;}return 1;}。
西华大学《数据结构》试卷A

西华大学课程考试试题卷(A 卷)试卷编号:(2008至2009学年第2学期)课程名称:数据结构考试时间:110分钟课程代码:8401801试卷总分:100分考试形式:闭卷学生自带普通计算器:否一、单项选择题(本大题共20个小题,每小题2分,共40分)1.如果在数据结构中每个数据元素只可能有一个直接前驱,但可有多个直接后继,则该结构是(c )A.栈 B.队列 C.树 D.图2.在数据结构中,从逻辑上可以把数据结构分成(b )。
A.动态结构和静态结构B.线性结构和非线性结构C.紧凑结构和非紧凑结构D.内部结构和外部结构3.算法分析的两个主要方面是(a )。
A.空间复杂性和时间复杂性 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性4.在以下的叙述中,正确的是(c )。
A.线性表的顺序存储结构优于链表存储结构B.线性表的顺序存储结构适用于频繁插入/删除数据元素的情况C.线性表的链表存储结构适用于频繁插入/删除数据元素的情况D.线性表的链表存储结构优于顺序存储结构5.非空的循环单链表head 的尾结点(由p 所指向)满足(c )。
A.p->next==NULL B.p==NULL C.p->next==head D.p==head 6.栈和队列的共同点是(c )。
A.都是先进先出 B.都是先进后出C.只允许在端点处插入和删除元素 D.没有共同点7.设若入栈序列的元素顺序为X,Y,Z,判断下列哪一个出栈序列是不可能的。
(c )。
A.XYZ B.YZX C.ZXY D.ZYX 8.设数组Data[0..m-1]作为循环队列SQ 的存储空间,front 为队头指针,rear 为队尾指针,则执行出队操作的语句为(b )。
A.front=front+1 B.front=(front+1)%m C.rear=rear+1 D.rear=(rear+1)%m 9.深度为5的二叉树至多有(d )个结点。
数据结构A卷(2014)

a)输入一个数列,以零为结束标志,按“先进先出”的方式生成单链表;
b)输出表中的节点;
c)逆置表中的节点,并输出逆置后表中的节点;
d)输出表中的节点,释放全部节点所占的空间。
例如:执行时输入1 2 3 4 0,其输出结果如下:
输出所有节点:1 2 3 4
逆序输出所有节点:4 3 2 1
9.两个串相等的充分必要条件是两个串的 且对应位置的 。
10.8层完全二叉树至少有 个节点,拥有100个节点的完全二叉树的最大层数为 。
11.采用顺序查找法查找长度为n的线性表,成功查找时的平均查找长度为。
12.设用希尔排序对数序{98,36,-9,0,47,23,1,8,10,7}进行排序,给出的步长(也称增量序列)依次是4、2、1,则排序需 ,写出第一趟结束后,数序中数据的排列次序为 。
q->next=L->next;
;
q=p;
}
printf(“逆序输出所有节点:”);
p=L->next; //输出表中的节点
while(p!=NULL)
{ printf(“%d”,p->data);
p=p->next; //沿next下移节点指针
}
printf(“\n”);
printf(“释放所有节点:\n”);
q=L->next;
while(q!=NULL)
{printf(“释放%d节点\n”,q->data);
p=q;
;
free(p);
}
printf(“释放头节点\n”);
free(L);
}
2.以下为二叉树中序遍历的递归算法和非递归算法。请将算法补充完整。
数据结构试卷A卷(含答案)

一、填空题(每空1分,共22分) 1、数据结构被形式地定义为(D, R),其中D是
的有限集合,R是
D上的 有限集合。 2、一个算法的效率可分为 效率和 效率。 3、向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时, 需向后移动 ________个元素。 4、在一个循环队列中,队首指针指向队首元素的 位置。 5、在具有n个单元的循环队列中,队满时共有 个元素。 6、向栈中压入元素的操作是先 ,后 。 7、 称为空串; 称为空白串。 8、假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字 节编址。已知A的起始存储位置(基地址)为1000,则数组A的体积 (存储量)为 ;末尾元素A57的第一个字节地址为 ;若按行 存储时,元素A14的第一个字节地址为 ;若按列存储时,元素A47 的第一个字节地址为 。 9、设一棵完全二叉树具有1000个结点,则此完全二叉树有 个 叶子结点,有 个度为2的结点,有 个结点只有非空左子树, 有 个结点只有非空右子树。 10、线性有序表(a1,a2,a3,…,a256)是从小到大排列的,对一个给 定的值k,用二分法检索表中与k相等的元素,在查找不成功的情况下, 最多需要检索 次。设有100个结点,用二分法查找时,最大比较次数 是 。 11、散列法存储的基本思想是由 决定数据的存储地址。
6.假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分 别为0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。试为这8个 字母设计哈夫曼编码。使用0~7的二进制表示形式是另一种编码方案。 对于上述实例,比较两种方案的优缺点。
五、算法设计(在下列算法的横线内填上适当的语句或表达式。) 1、直接选择排序 void selectsort (int R[ ] ) // 按递增序对R[ 0 ] ~R[n-1] 进行直接选择排序 { int i, j, k, temp ; for (i=0; i<= ; i++) { k=i ; for (j= ; j<=n-1; j++) if (R[ j ] R[ k ] ) k=j; if ( ) { temp=R[ i ]; R[ i ] = ; R[ k ]=temp; } } } 2、中序遍历二叉树 设二叉树用二叉链表表示,以t为根指针,二叉链表结点的类型为 node;栈s的元素类型为指向node的指针类型, 栈容量m足够大。中序遍 历的非递归算法如下: struct node {char data; node *lc,*rc; }; void preorder (node *t) { node *s[m] ,*p=t ; int top =- 1; do { while (p!=NULL) { s[++top] = } if (top!= -1) {p=s[top- -];
数据结构期末试卷及答案

2003-2004学年第二学期数据结构期终试卷(A卷)(考试时间100分钟)班级姓名学号得分一、单项选择题(本大题共15小题,第小题2分,共30分)在每小题列出的四个选项中只有一个符合题目要求,请将其代码填在题后的括号内。
错选或未选均无分。
1. 算法必须具备输入、输出和[ C ]A. 计算方法B. 排序方法C.解决问题的有限运算步骤 D. 程序设计方法2. 有n个节点的顺序表中,算法的时间复杂度是O(1)的操作是[ A ]A.访问第i个节点(1≤i≤n)B.在第i个节点后插入一个新节点(1≤i≤n)C.删除第i个节点(1≤i≤n)D.将n个节点从小到大排序3.单链表的存储密度[ C] A.大于1 B. 等于1C.小于1 D. 不能确定4.设将整数1,2,3,4,5依次进栈,最后都出栈,出栈可以在任何时刻(只要栈不空)进行,则出栈序列不可能是[ B] A.23415 B. 54132C.23145 D. 154325. 循环队列SQ的存储空间是数组d[m],队头、队尾指针分别是front和rear,则执行出队后其头指针front值是[ D ] A.front=front+1 B. front=(front+1)%(m-1)C. front=(front-1)%mD. front=(front+1)%m6. 在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是[ B ]A. O(1)B. O(n)C. O(n2)D. O(nlogn)7. 设二维数组A[0..m-1][0..n-1]按行优先顺序存储,则元素A[i][j]的地址为A.LOC(A[0][0])+(i*m+j) B.LOC(A[0][0])+(i*n+j)C.LOC(A[0][0])+[(i-1)*n+j-1]D. LOC(A[0][0])+[(i-1)*m+j-1]8. 一个非空广义表的表头[ D ]A.一定是子表 B. 一定是原子C.不能是子表 D. 可以是原子,也可以是子表9.具有n个节点的完全二叉树的深度为[ A ] A.⎡log2(n+1)⎤ -1 B. log2n+1C. log2nD. ⎣log2n⎦10. 若要惟一地确定一棵二叉树,只需知道该二叉树的[ D ]A.前序序列 B. 中序序列C.前序和后序序列 D. 中序和后序序列11.在一个无向图中,所有顶点的度数之和等于图的边数的倍[ C ] A.1/2 B. 1C. 2D. 412. 拓扑排序运算只能用于[ C ]A.带权有向图 B. 连通无向图C.有向无环图 D. 无向图13.在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是[ D ] A.希尔排序 B. 冒泡排序C.插入排序 D. 选择排序14.下列排序算法中时间复杂度不受数据初始状态影响,恒为O(n2)的是[ C ] A.堆排序 B. 冒泡排序C.直接选择排序 D. 快速排序15.二分查找要求节点[ A ] A.有序、顺序存储 B. 有序、链接存储C.无序、顺序存储 D. 无序、链接存储二、填空题(本大题共10小题,每小题2分,共20分)不写解答过程,将正确的答案写在每小题的空格内。
数据结构期末考试试题A卷

题一二三四五总分总评分人复查人分值40203010100得分湛江师范学院2008年-2009学年度第1学期期末考试试题A卷(考试时间:120分钟)考试科目: 数据结构请将所有答案填写在答题卡上,交卷时请将所有试卷上交一、单选题(每小题2分,共40分)1.下列算法的时间复杂度是( B )。
for ( i=0; i<n; i++) c[i][j]=i+j;A O(1)B O(n)C O(log 2n)D O(n 2)2.每一个存储结点不仅含有一个数据元素,还包含一个指针,该存储方式是( B )存储方式。
A 顺序B 链式C 索引D 散列3.指针p 指向以L 为头指针的循环链表的首元素的条件是( A )。
A p==L B p->next==L C L->next==p D p->next==NULL 4.4个元素进S 栈的顺序是A 、B 、C 、D ,进行两次Pop(S,x)操作后,栈顶元素的值是( B )。
A AB BC CD D5.经过下列栈的运算后GetTop(S)的值是( A )。
InitStack(s); Push(s,a); Push(s,b); Pop(s); A a B b C 1 D 2( )( )6.栈的特点是( B )。
A 先进先出B 后进先出C 后进后出D 不进不出7.经过下列运算后GetHead(Q)的值是(A )InitQueue(Q); EnQueue(Q,a); EnQueue(Q,b);A aB bC 1D 28.一维数组的元素起始地址loc[0]=1000,元素长度为4,则loc[2]为(C )。
A 1000B 1010C 1008D 10209.二叉树第i层上最多有(C )个结点。
A 2iB 2i-1C 2i-1D i210.满二叉树(A )二叉树。
A 一定是完全B 不一定是完全C 不是D 不是完全11.二叉树按二叉链表存储,每个结点包含三个域(lchild、data、rchild),若p指针指向二叉树的根结点,经过运算while ( p->rchild!=null ) p=p->rchild,则(A )。
数据结构试卷2007A及答案

2006/2007 学年 第 2 学期课程名称:数据结构 共 8 页 试卷: A 考试形式: 闭 卷一、单项选择题 (共10小题,每小题2分,共20分) 1.设某数据结构的二元组形式表示为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) 图型结构2.设一维数组中有n 个数组元素,则读取第i 个数组元素的平均时间复杂度为( )。
(A) O(n) (B) O(nlog 2n) (C) O(1) (D) O(n 2) 3.设指针变量front 表示链式队列的队头指针,指针变量rear 表示链式队列的队尾指针,指针变量s 指向将要入队列的结点X ,则入队列的操作序列为( )。
(A) front->next=s ; front=s ; (B) s->next=rear ; rear=s ; (C) rear->next=s ; rear=s ; (D) s->next=front ;4. 设哈夫曼树中的叶子结点总数为m ,若用二叉链表作为存储结构,则该哈夫曼树中总共有( )个空指针域。
(A) 2m-1 (B) 2m (C) 2m+1 (D) 4m5. n个顶点的带权无向连通图的最小生成树包含()个顶点。
(A) n-1 (B) n (C) n/2 (D) n+16. 一个栈的输入序列为1,2,3,4,下面哪一个序列不可能是这个栈的输出序列?()(A) 1,3,2,4 (B) 2,3,4,1(C) 4,3,1,2 (D) 3,4,2,17.设二叉排序树中有n个结点,则二叉排序树的平均查找长度为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12有向图G用邻接矩阵存储,其第i行的所有元素之和等于顶点i的_____出度_______。
三、解答题(每小题8分,共40分)
1.用普里姆(prim)算法从右图中的顶点1开始逐步构造最小生成树,要求画出构造的每一步。
2.假设通信电文使用的字符集为{a,b,c,d,e,f,g},若这些字符在电文中出现的频度分别为:3,35,13,15,20,5和9,分别求出这些字符的等长编码以及哈夫曼编码,并比较他们的编码长度。
8在堆排序和快速排序中,若初始记录接近正序或反序,则选用_____堆排序_________;若初始记录基本无序,则最好选用___快速排序_____。
9若要求一个稠密图G的最小生成树,最好用__普里姆___算法来求解。
10一棵深度为6的满二叉树有____63____________个分支结点和______32______个叶子。
8.对22个记录的有序表进行折半查找,当查找失败时,至少需要比较(B)次关键字。
A.3B.4
C.5D.6
9.已知图的邻接表如下所示,根据算法,则从顶点0出发按广度优先遍历的结点序列是(A)
A.0321B.0123
C.0132D.0312
(第9题配图:数组的下标为0,1,2,3)
10.对于哈希函数H(key)=key%13,被称为同义词的关键字是(D)
3.待排序的序列为:25,47,36,21,90,84,62,78,15,32。写出用(小根)堆排序的每一趟的结果。
4.已知一棵树的前序序列为:abefcgdhijk,后序序列为:efbgcijkhda。画出这棵树。
5.已知闭散列表的长度为10(散列地址空间为0..9),散列函数为H(K)=K%8,采用线性重新散列技术解决冲突,将下列一组数据{25,17,39,47,83,55,99,34}依次插入到散列表中,请画出散列表。
A.希尔排序B.冒泡排序
C.插入排序D.选择排序
14.二叉树是非线性数据结构,所以(C)
A.它不能用顺序存储结构存储B.它不能用链式存储结构存储
C.顺序存储结构和链式存储结构都能存储D.顺序存储结构和链式存储结构都不能使用
15.有8个结点的无向图最多有(B)条边。A.1Βιβλιοθήκη B.28C.56D.112
二、填空题(每小题1分,共15分)
5在一棵度为3的树中,度为2的结点个数是1,度为0的结点个数是6,则度为3的结点个数是___2_____。
6在数据的存放无规律而言的线性表中进行检索的最佳方法是_顺序查找__。
7n个顶点e条边的图采用邻接矩阵存储,深度优先遍历算法的时间复杂度为______O(n2)_______;若采用邻接表存储时,该算法的时间复杂度为______O(n+e)________。
3若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是_FEGHDCB。
4假设S和X分别表示进栈和出栈操作,由输入序列“ABC”得到输出序列“BCA”的操作序列为SSXSXX,则由“a*b+c/d”得到“ab*cd/+”的操作序列为_SXSSXXSSXSSXXX__。
《数据结构概论》期末考核试题
一、单项选择题(每小题2分,共30分)
1.下列编码中属前缀码的是(B)
A.{1,01,000,001}B.{1,01,011,010}
C.{0,10,110,11}D.{0,1,00,11}
2.设栈S和队列Q的初始状态为空,元素a,b,c,d,e,f依次进栈,一个元素退栈后即进入队列Q,若6个元素的出队的序列是b,d,c,f,e,a,则栈S的容量至少应当是(C)
}
(1)假设队列q中的元素为(2,4,5,7,8),其中“2”为队头元素。写出执行函数调用algo(&q)后的队列q;
(2)简述算法algo的功能。
五、程序设计题(共10分)
1、已知r[]为一维数组,其中r[0]到r[n-1]为待排序的n个元素,排序好的元素仍放在r[0]到r[n-1]中,请写出对该数组进行非递归的直接插入排序算法,取名为insertsort(elemtyper[],intn)。(10分)
A.插入操作更加方便B.删除操作更加方便
C.不会出现下溢的情况D.不会出现上溢的情况
6.二叉树中第5层上的结点个数最多为(C)
A.8B.15
C.16D.32
7.在表长为n的链表中进行线性查找,查找成功时,它的平均查找长度为(B)
A.ASL=nB.ASL=(n+1)/2
C.ASL= +1D.ASL≈log2(n+1)-1
1当问题的规模n趋向无穷大时,算法执行时间T(n)的数量级被称为算法的___时间复杂度_____。
2设数组a[M](M为最大空间个数)作为循环队列Q的存储空间,front为队头指针(指向第一个存放数据的位置),rear为队尾指针(指向最后一个存放数据位置的下一个),则判定Q队列的队满条件是_front==(rear+1)%m_。
四、算法阅读、设计(共5分)
1阅读下列函数algo,并回答问题:(5分)
voidalgo(Queue*Q)
{
StackS;
InitStack(&S);
while(!QueueEmpty(Q))
Push(&S,DeQueue(Q));
while(!StackEmpty(&S))
EnQueue(Q,Pop(&S));
A.35和41B.23和39
C.15和44D.25和51
11.图的深度优先遍历类似于二叉树的(A)
A.先序遍历B.中序遍历
C.后序遍历D.层次遍历
12.下述几种排序方法中,稳定的排序算法是(B)
A.直接插入排序B.快速排序
C.堆排序D.希尔排序
13.依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为(C)
A.6B.4C.3D.2
3.在具有n个结点的有序单链表中插入一个新结点并使链表仍然有序的时间复杂度是(B)
A.O(1)B.O(n)
C.O(nlogn)D.O(n2)
4.要表示省,市,区,街道的有关数据及其关系,选择(B)比较合适。
A.线性结构B.树结构
C.图结构D.集合结构
5.链栈与顺序栈相比,比较明显的优点是(D)