2006《数据结构》期末试卷_A
《数据结构》期末考试试卷试题及答案
《数据结构》期末考试试卷试题及答案第一部分:选择题(每题2分,共20分)1. 下面哪个数据结构是线性结构?A. 树B. 图C. 队列D. 网络流2. 下面哪个数据结构用于实现广度优先搜索算法?A. 栈B. 队列C. 散列表D. 堆3. 下面哪个数据结构用于实现深度优先搜索算法?A. 栈B. 队列C. 散列表D. 堆4. 下面哪个数据结构用于实现快速排序算法?A. 栈B. 队列C. 散列表D. 堆5. 下面哪个数据结构用于实现优先队列?A. 栈B. 队列C. 散列表D. 堆6. 下面哪个数据结构用于实现哈希表?A. 栈B. 队列C. 散列表D. 堆7. 下面哪个数据结构用于实现最小树算法?A. 栈B. 队列C. 散列表D. 堆8. 下面哪个数据结构用于实现拓扑排序算法?A. 栈B. 队列C. 散列表D. 堆9. 下面哪个数据结构用于实现最短路径算法?A. 栈B. 队列C. 散列表D. 堆10. 下面哪个数据结构用于实现并查集算法?A. 栈B. 队列C. 散列表D. 堆第二部分:填空题(每题2分,共20分)1. 链表是一种______数据结构。
2. 二叉树的节点最多有______个子节点。
3. 堆是一种特殊的______。
4. 散列表的查找效率取决于______。
5. 图的遍历算法包括______和______。
6. 快速排序算法的平均时间复杂度为______。
7. 哈希表中的冲突解决方法有______和______。
8. 最小树算法包括______和______。
9. 最短路径算法包括______和______。
10. 并查集算法用于解决______问题。
第三部分:简答题(每题10分,共50分)1. 请简述栈和队列的区别。
2. 请简述二叉搜索树的特点。
3. 请简述哈希表的原理。
4. 请简述图的深度优先搜索算法。
5. 请简述最小树算法的原理。
第四部分:编程题(每题20分,共50分)1. 编写一个函数,实现链表的插入操作。
数据结构期末复习题A6
8.若采用邻接矩阵来存储简单有向图,则其某一个顶点i的入度等该矩阵()。
Array A.第i行中值为1的元素个数B.所有值为1的元素总数C.第i行及第i列中值为1的元素总个数D.第i列中值为1的元素个数9.在一个无向图中,所有顶点的度数之和等于所有边数的____倍。
A. 1/2B. 1C. 2D. 410.采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为____.A. nB. n/2C. (n+1)/2D. (n-1)/211. 对于给定的一组关键字(12,2,16,30,8,28,4,10,20,6,18),按照下列二路归并排序算法进行递增排序,第一趟排序后得到的结果是()。
A.2,12,16,8,28,30,4,6,10,18,20B.2,12,16,30,8,28,4,10,20,6,18C.12,2,16,8,28,30,4,6,10,28,18D.12,2,10,20,6,18,4,16,30,8,2812. 在理想情况下,散列表中查找元素所需的比较次数为()。
A.n B.O C.n/2 D.113. 排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为____。
A. 希尔排序B. 起泡排序C. 插入排序D. 选择排序二、填空:(每空1分, 共10分)1.设线性表中元素的类型是实型,其首地址为1024,则线性表中第6个元素的存储位置是。
2. 对于顺序存储的栈,因为栈的空间是有限的,在进行运算时,可能发生栈的上溢,在进行运算时,可能发生栈的下溢。
3. 在双向链表中,每个结点有两个指针域,一个指向____ __,另一个指向___ __。
4.由一棵二叉树的前序序列和可唯一确定这棵二叉树。
5.折半查找的存储结构仅限于___ _,且是_ ___。
6.对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为和。
数据结构试卷(A)答案
运算机系2010年—2011年第一学期期末考试题(卷)《数据结构》试题A(卷)参考答案和评分标准一、选择题(每题2分,共40分)。
1.线性表假设采纳链式存储结构时,要求内存中可用存储单元的地址(D )A.必需是持续的B.部分地址必须是连续的C.必然是不持续的D.连续不连续都可以2. 链表不具有的特点是( C )A.随机访问B.不必事先估计存储空间C.插入删除时不需移动元素D.所需空间与线性表成正比3.设有编号为1,2,3,4的4辆车,顺序进入一个栈结构的站台,以下不可能的出站顺序为( D )A.1234 B.1243 C.1324D.14234.顺序栈存储空间的实现利用(B )存储栈元素。
A.链表B.数组C.循环链表D.变量5.初始化一个空间大小为5的顺序栈S 后,S->top的值是( B )A.0 B.-1 C.再也不改变D.动态变化6.队列是限定在( D )进行操作的线性表。
A.中间B.队首C.队尾D.两端7.引发循环队列队头位置发生转变的操作是(A )。
A.出队B.入队C.取队头元素D.取队尾元素8.以下论述正确的选项是(C )A.空串与空格串是相同的B.”tel”是”Teleptone”的子串C.空串是零个字符的串D.空串的长度等于19.串的模式匹配是指(D )A.判定两个串是不是相等B.对两个串比较大小C.找某字符在主串中第一次显现的位置D.找某子串在主串中第一次显现的第一个字符位置=”morning”,执行求子串函数SubStr(S,2,2)后的结果为( B )A.”mo”B.”or”C.”in”D.”ng”11.设高度为h的二叉树上只有度为0和度为2的结点,那么此类二叉树中所包括的结点数至少为( B )A.2h B.2h-1 C.2h+1 D.h+112.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( D )A.acbed B.decabC.deabc D.cedba13. 按照二叉树的定义,具有3个结点的二叉树有( C )种。
《数据结构》期末考试试卷试题及答案
《数据结构》期末考试试卷试题及答案一、选择题(每题5分,共20分)1. 下列哪个不是线性结构?A. 栈B. 队列C. 图D. 数组2. 下列哪个不是栈的基本操作?A. 入栈B. 出栈C. 查找D. 判断栈空3. 下列哪个不是队列的基本操作?A. 入队B. 出队C. 查找D. 判断队列空4. 下列哪个不是图的基本概念?A. 顶点B. 边C. 路径D. 环二、填空题(每题5分,共20分)5. 栈是一种______结构的线性表,队列是一种______结构的线性表。
6. 图的顶点集记为V(G),边集记为E(G),则无向图G=(V(G),E(G)),有向图G=(______,______)。
7. 树的根结点的度为______,度为0的结点称为______。
8. 在二叉树中,一个结点的左子结点是指______的结点,右子结点是指______的结点。
三、简答题(每题10分,共30分)9. 简述线性表、栈、队列、图、树、二叉树的基本概念。
10. 简述二叉树的遍历方法。
11. 简述图的存储结构及其特点。
四、算法题(每题15分,共30分)12. 编写一个算法,实现栈的入栈操作。
13. 编写一个算法,实现队列的出队操作。
五、综合题(每题20分,共40分)14. 已知一个无向图G=(V,E),其中V={1,2,3,4,5},E={<1,2>,<1,3>,<2,4>,<3,4>,<4,5>},画出图G,并给出图G的邻接矩阵。
15. 已知一个二叉树,其前序遍历序列为ABDCE,中序遍历序列为DBACE,请画出该二叉树,并给出其后序遍历序列。
答案部分一、选择题答案1. C2. C3. C4. D二、填空题答案5. 后进先出先进先出6. V(G),E(G)7. 0 叶结点8. 左孩子右孩子三、简答题答案9. (1)线性表:一个线性结构,其特点是数据元素之间存在一对一的线性关系。
《数据结构》1至5章期末复习题
第一章一、单项选择题1. 数据结构是指()。
A.数据元素的组织形式B.数据类型C.数据存储结构D.数据定义2. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。
A.存储结构B.逻辑结构C.链式存储结构D.顺序存储结构3. 树形结构是数据元素之间存在一种()。
A.一对一关系B.多对多关系C.多对一关系D.一对多关系4. 设语句x++的时间是单位时间,则以下语句的时间复杂度为()。
for(i=1; i<=n; i++)for(j=i; j<=n; j++)x++;A.O(1)B.O( )C.O(n)D.O( )5. 算法分析的目的是(1),算法分析的两个主要方面是(2)。
A.找出数据结构的合理性B.研究算法中的输入和输出关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性(2) A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性6. 计算机算法指的是(1),它具备输入,输出和(2)等五个特性。
(1) A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法(2) A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性C.确定性,有穷性和稳定性D.易读性,稳定性和安全性7. 数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要()。
A.低 B.高 C.相同 D.不好说8. 数据结构作为一门独立的课程出现是在()年。
A.1946B.1953C.1964D.19689. 数据结构只是研究数据的逻辑结构和物理结构,这种观点()。
A.正确B.错误C.前半句对,后半句错D.前半句错,后半句对10. 计算机内部数据处理的基本单位是()。
A.数据B.数据元素C.数据项D.数据库二、填空题1. 数据结构按逻辑结构可分为两大类,分别是______________和_________________。
大学数据结构期末考试试题(有答案)
“数据结构”期末考试试题一、单选题(每小题2分,共12分)1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
A. HL=ps p一>next=HLB. p一>next=HL;HL=p3C. p一>next=Hl;p=HL;D. p一>next=HL一>next;HL一>next=p;2.n个顶点的强连通图中至少含有( )。
A.n—l条有向边B.n条有向边C.n(n—1)/2条有向边D.n(n一1)条有向边3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A.O(1)B.O(n)C.O(1Ogzn)D.O(n2)4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
A.24 B.48C. 72 D. 535.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
A.整形B.引用型C.指针型D.常值引用型·6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
A.O(n) B.O(1)C.O(n2) D.O(10g2n)二、填空题(每空1分,共28分)1.数据的存储结构被分为——、——、——和——四种。
2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。
3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。
4.在一棵高度为h的3叉树中,最多含有——结点。
5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——·6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。
7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。
数据结构试卷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- -];
数据结构期末试题及答案
《数据结构》期末考试试卷一、选择题(单选题,每小题3分,共33分)1.已知某二叉树的中序、层序序列分别为DBAFCE、FDEBCA,则该二叉树的后序序列为 B 。
A.BCDEAF B.ABDCEF C.DBACEF D.DABECF 2.在11个元素的有序表A[1…11]中进行折半查找(⎣⎦2/)low+),查找元素(highA[11]时,被比较的元素的下标依次是 B 。
A.6,8,10,11 B.6,9,10,11 C.6,7,9,11 D.6,8,9,113.由元素序列(27,16,75,38,51)构造平衡二叉树,则首次出现的最小不平衡子树的根(即离插入结点最近且平衡因子的绝对值为2的结点)为 D 。
A.27 B.38 C.51 D.754.利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素30要进行 B 次元素间的比较。
A.4 B.5 C.6 D.75.循环链表的主要优点是 D 。
A.不再需要头指针了B.已知某个结点的位置后,很容易找到它的直接前驱结点C.在进行删除后,能保证链表不断开D.从表中任一结点出发都能遍历整个链表6.已知一个线性表(38,25,74,63,52,48),假定采用散列函数h(key)=key%7计算散列地址,并散列存储在散列表A[0…6]中,若采用线性探测方法解决冲突,则在该散列表上进行等概率查找时查找成功的平均查找长度为 C 。
A.1.5 B.1.7 C.2.0 D.2.37.由权值为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为C 。
A.23 B.37 C.44 D.468.在最好和最坏情况下的时间复杂度均为O(nlogn)且稳定的排序方法是 D 。
A.基数排序B.快速排序C.堆排序D.归并排序9.无向图G=(V,E),其中V={a,b,c,d,e,f},E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)}。
《数据结构》期末考试试题及答案
《数据结构》期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪种数据结构是线性结构?A. 栈B. 树C. 队列D. 图答案:A2. 在计算机科学中,什么是最基本的数据结构?A. 数组B. 链表C. 栈D. 树答案:C3. 下列哪种操作的时间复杂度是O(1)?A. 在链表中插入元素B. 在数组中查找元素C. 在树中删除节点D. 在图中寻找最短路径答案:B4. 下列哪种数据结构常常用于实现栈和队列?A. 数组B. 链表C. 树D. 图答案:A5. 下列哪种数据结构是有序的?A. 栈B. 队列C. 链表D. 图答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种后进先出(____)的数据结构。
答案:线性表2. 队列是一种先进先出(____)的数据结构。
答案:线性表3. 链表是一种____数据结构,由一系列节点组成。
答案:非线性4. 二叉树是一种特殊的树,它的每个节点最多有两个____。
答案:子节点5. 哈希表是通过____函数将关键字映射到表中的位置来访问数据。
答案:哈希三、判断题(每题2分,共20分)1. 树是一种线性结构。
()答案:错误2. 链表的插入和删除操作时间复杂度都是O(1)。
()答案:错误3. 图是一种线性结构。
()答案:错误4. 哈希表是一种基于顺序结构的的数据结构。
()答案:错误5. 在数据结构中,时间复杂度O(n)表示算法随着输入规模的增加而线性增长。
()答案:正确四、简答题(每题10分,共30分)1. 请简述栈和队列的特点和应用场景。
答案:栈是一种后进先出(LIFO)的数据结构,应用场景包括函数调用栈、表达式求值等。
队列是一种先进先出(FIFO)的数据结构,应用场景包括任务队列、缓冲区等。
2. 请简述链表的优缺点。
答案:链表的优点包括动态扩容、插入和删除操作时间复杂度为O(1)、可以方便地实现各种复杂数据结构。
缺点包括占用内存空间较大、不如数组支持随机访问。
《数据结构》期末考试试题及答案
《数据结构》期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪一个不是线性结构的基本特征?A. 有且只有一个根结点B. 每个结点最多有一个前驱和一个后继C. 有且只有一个叶子结点D. 有序对中第一个元素是根结点答案:C2. 在单链表中,存储元素的数据域称为元素的哪个部分?A. 指针域B. 数据域C. 结点域D. 头结点答案:B3. 在顺序存储结构中,数据元素之间的逻辑关系由哪个因素决定?A. 数据元素的存储顺序B. 数据元素的存储位置C. 数据元素的类型D. 数据元素的大小答案:A4. 下列哪种排序算法的时间复杂度不是O(nlogn)?A. 快速排序B. 归并排序C. 堆排序D. 冒泡排序答案:D5. 在二叉树中,具有度为2的结点的个数是n0,度为0的结点个数是n2,则有()。
A. n0 = n2 - 1B. n0 = n2 + 1C. n0 = n2D. n0 = n2 + 2答案:B6. 在线索二叉树中,哪个结点被称为线索结点?A. 有左子树的结点B. 有右子树的结点C. 既没有左子树也没有右子树的结点D. 具有左右子树的结点答案:C7. 在双向链表中,查找结点的时间复杂度是()。
A. O(1)B. O(n)C. O(nlogn)D. O(n^2)答案:B8. 在栈的操作中,下列哪个操作是非法的?A. 先进先出B. 后进先出C. 可以插入任意元素D. 可以删除任意元素答案:D9. 在顺序表中进行插入操作时,平均移动次数为()。
A. 0B. n/2C. nD. n-1答案:C10. 在下列排序算法中,哪个算法是不稳定的?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B二、填空题(每题2分,共20分)1. 线性表的顺序存储结构称为顺序表,其基本特点是()。
答案:元素顺序存储2. 在单链表中,每个结点包括两个域:数据域和()。
答案:指针域3. 在二叉树中,度为0的结点称为(),度为2的结点称为()。
数据结构期末试卷_含答案
三、程序填空题(本题共、链式表表示和实现线性表的部分程序如下,请在程序空白处填上适当的语句://线性表的单链表存储结构typedef struct LNode{线 订 装数据结构与算法A卷答案一、选择题:(本题共20小题,每题2分,共40分)1-5:CA、DBCC 6-10:BDDAB 11-15:AABBA 16-20:CCCBC二、分析运算题(本题共5小题,每题6分,共30 分)1、解答:(1)选链式存储结构。
它可以动态申请内存空间,不受表长度(即表中元素个数)的影响,插入、删除的时间复杂性为O(1);(2)选顺序存储结构。
顺序表可以随机存取,时间复杂性为O(1)。
2.CBADECBAEDCBEDACBDAECBDEA每对一个得1分,全对得6分,写错一个倒扣1分。
3.(3分)先序遍历序列:+-A/×BCD/EF (3分)4.(3分)后序遍历序列为:BHECIGFA D (3分)(1)(2分)(2)(2分)(3)(2分)三、程序填空题(本题共10空,每空2分,共20分)(1)p = L(2)p->next(3)p->next=q->next(4)free(q)(5)NULL或=NULL(6)printf(“%c”,BT->data)(7)Inorder(BT->right)(8) Push(S, exp[i]) 或 Push(S,‘(’)(9) GetTop(S)= ='('(10) Pop(S,e)四、算法设计题(本题共1小题,共10分)1、(10分)算法如下:答:void quickpass(sqlist r){int i=0; j=r.length-1; x=r.elem[0];while(i<j){while(i<j && r.elem[j]>x) j=j-1;if(i<j){r.elem[i]=r.elem[j];i=i+1;} while(i<j && r.elem[i]<x) i=i+1;if(i<j){r.elem[j]=r.elem[i];j=j-1;} }r.elem[i]=x;}。
数据结构期末考试题及答案
数据结构期末考试题及答案一、单项选择题(每题3分,共30分)1. 在数据结构中,最基本的数据结构是()。
A. 线性结构B. 树形结构C. 图形结构D. 非线性结构答案:A2. 栈是一种特殊的线性表,其特点是()。
A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:C3. 在二叉树中,度为2的结点数为n,度为1的结点数为m,度为0的结点数为p,则m的值为()。
A. n-1B. n+1C. p-1D. p+1答案:A4. 哈希表的构造方式是()。
A. 线性结构B. 树形结构C. 链式结构D. 索引结构答案:D5. 在图的遍历过程中,深度优先搜索算法采用的是()。
A. 队列B. 栈C. 链表D. 树答案:B6. 快速排序算法的时间复杂度在最坏情况下是()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(2^n)答案:C7. 以下哪个排序算法是不稳定的排序算法()。
A. 冒泡排序B. 快速排序C. 归并排序D. 堆排序答案:B8. 在数据库中,索引通常采用哪种数据结构()。
A. 线性表B. 树形结构C. 图形结构D. 散列表答案:B9. 以下哪个不是二叉搜索树的性质()。
A. 左子树上所有结点的值都小于它的根结点的值B. 右子树上所有结点的值都大于它的根结点的值C. 左、右子树也分别为二叉搜索树D. 所有结点的值都相等答案:D10. 在图的表示方法中,邻接矩阵适用于表示()。
A. 稠密图B. 稀疏图C. 有向图D. 无向图答案:A二、填空题(每题4分,共20分)1. 在数据结构中,一个算法的空间复杂度是指算法在执行过程中需要的___________。
答案:存储空间2. 堆排序中,调整堆的过程称为___________。
答案:堆化3. 在图的遍历中,广度优先搜索使用的辅助数据结构是___________。
答案:队列4. 一个长度为n的链表,删除第i个元素的时间复杂度是___________。
2006-2007第2学期数据结构与算法试卷(A卷)
20 06—20 07学年第2 学期《数据结构与算法》考试试卷(A卷)(时间120分钟)院/系专业姓名学号一、选择题(每小题2分,共20分)1、数据结构中,与所使用的计算机无关的是数据的结构。
A. 存储结构B. 物理结构C. 逻辑结构D. 物理和存储结构2、循环链表的主要优点是。
A. 不再需要头指针了B. 已知某个结点的位置后,能很容易找到它的直接前驱结点C.在进行删除操作后,能保证链表不断开D. 从表中任一结点出发都能遍历整个链表3、栈和队列都是。
A. 顺序存储的线性结构B.链式存储的非线性结构C. 限制存取点的线性结构D.限制存取点的非线性结构4、串的长度是指。
A. 串中所含不同字母的个数B. 串中所含不同字符的个数C. 串中所含字符的个数D. 串中所含非空格字符的个数5、若某二叉树的先序和中序遍历序列分别为ABCD、ACDB,则该二叉树的后序遍历序列为。
A. DBCAB. ADCBC. DCBAD. CDBA6、有n个叶子结点的哈夫曼树,其结点总数为。
A.2n-1 B.2n C.2n+1 D.不确定。
7、无向图的邻接矩阵一定是。
A. 对角矩阵B. 稀疏矩阵C. 三角矩阵D. 对称矩阵8、以下序列中符合堆的定义。
A. (2,40,20,25,30)B. (2,20,40,25,30)C. (40,25,2,30,20)D. (40,25,2,20,30)9、下列排序方法中属于不稳定排序方法的是。
A.直接插入排序B.冒泡排序C.快速排序D.归并排序10、设有一个用线性探测法解决冲突得到的散列表(或哈希表)如下图所示,散列函数为H(k)=k % 11,若要查找元素14,探查的次数为。
(第一题,第10小题图)A.5B.9C.3D.6二、填空题(每小题2分,共20分)1、一个“好”的算法要考虑以下标准:正确性 、可读性 、 和高效率与低存储量需求。
2、对于二维数组a[0..4,0..5],设每个元素占1个存储单元,且以行为主序存储,则元素a[2,3]相对于数组空间起始地址的偏移量是 。
数据结构期末试卷-A卷
C.相同ArrayD.不确定4、树最适合用来表示()。
A.有序数据元素B.无序数据元素C.元素之间无联系的数据D.元素之间有分支层次的关系5、最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是()。
A.(rear+1) MOD n=frontB.rear=frontC.rear+1=frontD.(rear-l) MOD n=front6、若某链表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。
则采用()存储方式最节省运算时间。
A.单链表B.双链表C. 单循环链表D.带头结点的双循环链表7、对称数组A中,每个元素的长度为4个字节,行下标i从1到8,列下标j从1到8。
将其下三角中的元素连续存储在从首地址SA开始的存储器内,该数组按行存放是,则元素A[5][8]的起始地址为()。
A.124B.128C.132D.1368、假设以行序为主序存储二维数组array[100][100],设每个数据元素占2个存储单元,基地址为10,下标从0开始,则元素array[5][5]的地址为()。
A.808B.818C.1010D.10209、插入和删除只能在一端进行线性表,称为()。
A.队列B.循环队列C.栈D.循环栈10、深度为h的二叉树至多有()个节点。
A.2hB.2h-1C.2h-1D.2h-1-111、如果树的的结点A有4个兄弟,而且B为A的双亲,则B的度为A.3B.4C.5D.112、某堆栈的输入序列为a, b,c ,d,下面的四个序列中,不可能是它的输出序列的是()。
A.a,c,b,dB.b, c,d,aC.c, d,b, aD.d, c,a,b13、二叉树按某种顺序线索化后,任一节点均有指向其前驱和后继的线索,这种说法()。
A.正确B.错误C.不确定D.都有可能14、设线性链表中结点的结构为(data,next)。
已知指针q所指结点是指针结点p的直接前驱,若在*q与*p之间插入结点*s,则应执行下列( )操作。
第1学期《数据结构》期末考试试卷(A卷)
第1 学期《数据结构》期末考试试卷(A卷)一、单项选择(在备选答案中选出一个正确答案,并将其号码填在题后的括号内。
每题2分,共20分)01.以下序列不是堆的是( )。
A. (100,85,98,77,80,60,82,40,20,10,66)B. (100,98,85,82,80,77,66,60,40,20,10)C. (10,20,40,60,66,77,80,82,85,98,100)D. (100,85,40,77,80,60,66,98,82,10,20)02.当采用分快查找时,数据的组织方式为( )A.数据分成若干块,每块内数据有序B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C.数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D.数据分成若干块,每块(除最后一块外)中数据个数需相同03.二叉树中序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E 则前序序列是( )A.E,G,F,A,C,D,B B.E,A,C,B,D,G,FC.E,A,G,C,F,B,D D.以上答案都不对04. 有n个叶子的哈夫曼树的结点总数为()。
A.2n-1 B.2n C.2n+1 D.不确定05. 有一个具有n个顶点的连通图生成的最小生成树中,具有( )条边A、nB、n-1C、n+1D、2n-106.下面的二叉树中,()不是平衡二叉树。
A B C D07. 知U=‘xyxyxyxxyxy’;t=‘xxy’;依次执行下列运算后,ASSIGN(S,U);ASSIGN(V,SUBSTR(S,INDEX(s,t),LEN(t)+1));ASSIGN(m,‘ww’),则REPLACE(S,V,m)结果为( )。
A.’xyxywwyxy’B.’xyxyxywwy’C.’xyxyxwwxy’D.’xyxywwxyx’.08.设有数组A[i,j],数组的每个元素长度为5字节,i的值为0 到5 ,j的值为0 到6,数组从内存首地址BA开始顺序存放,当用以行为主序存放时,元素A[5,5]的存储首地址为( )。
2006《数据结构》期末试卷_A_final(key)
一、(本题15分)试设计一个结点数据类型为整型的带表头结点的有序单链表,然后设计一个算法,该算法将这个有序单链表划分成两个单链表,使得第一个单链表中包含原单链表中所有数值为奇数的结点,第二个单链表中包含原单链表中所有数值为偶数的结点,且两个单链表中结点的相对排列顺序与原单链表中相同。
注意:要求使用原单链表的空间,表头结点可以另辟空间。
[解答]void split(LinkList &HL, LinkList &L1, LinkList &L2) {q1=L1= (LinkList) malloc(sizeof(LNode));q2=L2= (LinkList) malloc(sizeof(LNode));p=HL->next;while (p!=NULL) {if (p->date % 2 != 0) {q1->next= p; q1=p;}elseq2->next= p; q2=p;}p=p->next;}q1->next=q2->next=NULL;free(HL);}二、(本题20分)试设计一个递归算法,判断二叉树T是否是满二叉树,假设T是以二叉链表存储。
typedef struct BiTNode{TElemType data;Struct BiTNode *lchild, *rchild;} BiTNode, *BiTree;解答:满二叉树中任一个结点为根的子树都是满二叉树。
算法:(1)如果二叉树T是空树,则是满二叉树;(2)如果二叉树T非空,左右子树都是满二叉树,而且深度一样,则T是满二叉树;(3)如果二叉树T非空,左子树或右子树不是满二叉树,则不是满二叉树;(4)如果二叉树T非空,左右子树都是满二叉树,但深度不一样,则T不是满二叉树。
//该函数判断二叉树T 是否是满二叉树//如果是满二叉树,返回TRUE ,Depth 返回该树的深度; //否则返回FALSE ,Depth 无定义; Boolean Check( BiTree T, int &Depth) { int ldepth, rdepth;if( T==NULL) { Depth=0; return TRUE; }if( Check(T->lchild, ldepth)==FALSE ) return FALSE; if( Check(T->rchild,rdepth)==FALSE) return FALSE; if( ldepth!=rdepth ) return FALSE; Depth=ldepth+1; return TRUE; }三、(本题15分)给定下面的带权无向图G :1) 从顶点0出发,请写出深度优先遍历序列和广度优先遍历序列,当有多种选择时,编号小的结点优先。
06级数据结构期末考试题
2006级(嵌入式软件与系统、计算机应用方向)《数据结构》期终考试试卷学号姓名一、单项选择题(每题1分,共15分)1.在计算机科学中,算法指的是( )A. 计算机程序B. 描述问题的方法C. 解决问题的有限步骤序列D. 排序算法2.在数据结构中,可用存储顺序代表逻辑顺序的数据结构为( )A. 顺序结构B. 二叉排序树C. 链式结构D. Hash表3.在数据结构中,按逻辑结构可把数据结构分为( )A. 静态结构和动态结构B. 线性结构和非线性结构C. 顺序结构和链式结构D. 内部结构和外部结构4.对链式存储的正确描述是( )A. 结点之间是连续存储的B. 结点内单元是连续存储的C. 各结点类型可以不一致D. 各结点的地址由小到大5.在下列关于“串”的陈述中,正确的说明是( )A. 串中元素只能是字母B. 串的长度必须大于零C. 串是一种特殊的线性表D. 空串就是空白串6.设A[n][n]为一个对称矩阵,数组下标从[0][0]开始。
为了节省存储,将其下三角部分按行存放在一维数组B[0..m-1],m=n(n+1)/2,对下三角部分中任一元素a ij(i≥j),它在一维数组B 的下标k值是( )A. i(i-1)/2+j-1B. i(i-1)/2+jC. i(i+1)/2+j-1D. i(i+1)/2+j7.对一个满二叉树中,若把它存储到一维数组中(数组下标从0开始),则元素下标为k的右儿子下标是( ) (不考虑数组下标越界的问题)A. ⎣k/2⎦B. ⎡k/2⎤C. 2k+1D. 2k+28.已知一棵二叉树的后序和中序序列分别是dabec和debac,则先序序列是( )A. acbedB. decabC. cedbaD. deabc9.对一个含n个顶点和e条边的无向图(无环),其邻接矩阵中零元素的个数为( )A. eB. 2eC. n2 - eD. n2 - 2e10.假设一个有n个顶点和e条弧的有向图用邻接矩阵表示,则删除与某个顶点v i相关的所有弧的时间复杂度是( )A. O(n)B. O(e)C. O(n+e)D. O(n×e)11.下面关于栈特征的错误描述是( )A. FILOB. FIFOC. 数据可用数组或链表存储D. 弹出数据时,要先检验栈空12.下面关于队列特征的正确描述是( )A. FILOB. FIFOC. 只能用数组来实现队列D. 循环队列不受存储空间限制13.下列排序算法中,时间复杂度最差的是( )A. 选择排序B. 桶(基数)排序C. 快速排序D. 堆排序14. 若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为 ( )A. 顺序存储结构B. 链式存储结构C. 散列存储结构D. 索引存储结构 15. 在一个顺序存储的有序序列中查找指定的关键字,其时间复杂度的下界是 ( )A. O (log n )B. O (n log n )C. O (n )D. O (1) 二、已知一个无向图的顶点集为{ a , b , c , d , e , f },其邻接矩阵如下所示(0-无边,1-有边)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、 (本题15分)试设计一个结点数据类型为整型的带表头结点的有序单链表,然后设计一个算法,该算法将这个有序单链表划分成两个单链表,使得第一个单链表中包含原单链表中所有数值为奇数的结点,第二个单链表中包含原单链表中所有数值为偶数的结点,且两个单链表中结点的相对排列顺序与原单链表中相同。
注意:要求使用原单链表的空间,表头结点可以另辟空间。
二、 (本题20分)试设计一个递归算法,判断二叉树T 是否是满二叉树,假设T 是以二叉链表存储。
typedef struct BiTNode{
TElemType data; Struct BiTNode *lchild, *rchild;
} BiTNode, *BiTree;
三、 (本题15分)给定下面的带权无向图G :
1) 从顶点0出发,请写出深度优先遍历序列和广度优先遍历序列,当有多种选择时,编号小的结点优先。
2) 分别使用普里姆算法和克鲁斯卡尔算法求出下图的最小生成树,仅需画出最小生成树的成长过程即可。
四、
(本题15分)设有一个关键字序列{11,73,51,31,63,37,46,2,7},
1)从空树开始构造排序二叉树,画出得到的排序二叉树;分别计算该排序二叉树在等概率下查找成功的平均查找长度和查找失败的平均查找长度;
2)从空树开始构造平衡二叉树,画出每加入一个新结点时二叉树的形态;若发生不平衡,请画出调整平衡后的结果;分别计算该平衡二叉树在等概率下查找成功的平均查找长度和查找失败的平均查找长度。
五、(本题10分)已知待散列存储的关键字序列为(4,15,38,49,33,60,27,71),哈希函
数为H(key)=key MOD 11,哈希表HT的长度为11,采用二次探测再散列法解决冲突。
试构造此哈希表,并求出在等概率情况下查找成功的平均查找长度。
六、(本题15分)试设计算法在O(n)时间内将数组A[1..n]划分为左右两个部分,使得
左边的所有元素为奇数,右边的所有元素均为偶数,要求所使用的辅助存储空间大小为O(1)。
七、(本题10分)若待排序记录的关键字集合是{30,90,27,4,48,15,9,13,18},欲将其
按关键字非递减排序:
1)若采用快速排序(选取待排序列中的第一个记录作为枢轴),请给出第一趟和第二趟排序的结果;
2)若采用堆排序,请画出初始建立的“大顶堆”;
3)当给定的待排序记录的关键字基本有序时,应采用堆排序还是快速排序?为什么?
八、(本题不记分)请谈谈学习《数据结构》课程的心得体会,或对该课程的教学提出意
见和建议。