数据结构复习题2010
- 格式:doc
- 大小:278.00 KB
- 文档页数:12
数据结构复习题一、填空题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的以及它们之间的和运算等的学科。
2. 数据结构包括数据的、数据的和数据的等三个方面的内容。
3. 数据结构按逻辑结构可分为两大类,它们分别是和。
4.从逻辑关系上讲,数据结构主要分为、、和。
5. 线性结构中元素之间存在关系,树形结构中元素之间存在关系。
6.在线性结构中,第一个结点前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点后续结点,其余每个结点有且只有1个后续结点。
7. 在树形结构中,树根结点没有结点,其余每个结点有且只有个前驱结点;叶子结点没有结点,其余每个结点的后续结点数可以。
8. 在图形结构中,每个结点的前驱结点数和后续结点数可以。
9.数据的存储结构常用的有两种,它们分别是存储结构和存储结构。
10.在顺序表中插入或删除一个元素,需要平均移动元素,具体移动的元素个数与有关。
11. 在顺序表中访问任意一结点的时间复杂度均为,因此,顺序表也称为的数据结构。
12. 顺序表中逻辑上相邻的元素的物理位置相邻。
单链表中逻辑上相邻的元素的物理位置相邻。
在双链表中,每个结点设置了两个指针域,其中一个指向结点,另一个指向结点。
13.线性表、栈和队列都是结构,可以在线性表的位置插入和删除元素;对于栈只能在插入和删除元素;对于队列只能在插入和删除元素。
14. 栈是一种特殊的线性表,允许插入和删除运算的一端称为。
不允许插入和删除运算的一端称为。
15. 是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。
16. 栈和队列是两种特殊的线性表,栈的操作特性是,队列的操作特性是,栈和队列的主要区别在于对。
17.顺序栈或链栈进行插入和删除操作的时间复杂度分别是,顺序队列或链队列进行插入和删除操作的时间复杂度都是。
18. 称为空串;称为空白串。
19. 子串的定位运算称为串的模式匹配;称为目标串,称为模式。
20.两个串相等的充分必要条件是。
22.一棵深度为6的满二叉树有个分支结点和个叶子结点。
23. 设一棵完全二叉树具有1000个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个结点只有非空左子树,有个结点只有非空右子树。
24.一棵具有257个结点的完全二叉树,它的深度为。
25.设一棵完全二叉树有700个结点,则共有个叶子结点。
26.一棵二叉树的第i(i≥1)层最多有个结点;一棵有n(n>0)个结点的满二叉树共有个叶子结点和个非终端结点。
27.深度为k的二叉树中,所含叶子的个数最多为。
28.在具有n个结点的二叉链表中,共有个指针域,其中个指针域用于指向其左右孩子,剩下的个指针域则是空的。
29. 图的存储结构主要有两种,分别是、等存储结构,遍历图有、等方法。
30. 有向图G用邻接表矩阵存储,其第i行的所有元素之和等于顶点i的。
31. 设有一稀疏图G,则G采用存储较省空间。
32. 设有一稠密图G,则G采用存储较省空间。
33.设无向图G中顶点数为n,则图G至少有条边,至多有条边;若G为有向图,则至少有条边,至多有条边。
34.图的深度优先遍历类似于树的编历,它所用到的数据结构是;图的广度优先遍历类似于树的遍历,它所用到的数据结构是。
35.数据的存放无规律而言的线性表中进行检索的最佳方法是。
36. 假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为;比较四次查找成功的结点数为;平均查找长度为。
37.折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它将依次与表中元素比较大小。
38. 在各种查找方法中,平均查找长度与结点个数n无关的查找方法是。
39. 散列法存储的基本思想是由决定数据的存储地址。
40. 大多数排序算法都有两个基本的操作:和。
41. 在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置至少需比较次。
42. 在插入和选择排序中,若初始数据基本正序,则选用;若初始数据基本反序,则选用。
43. 在堆排序和快速排序中,若初始记录接近正序或反序,则选用;若初始记录基本无序,则最好选用。
44. 对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是。
若对其进行快速排序,在最坏的情况下所需要的时间是。
45. 对于n个记录的集合进行归并排序,所需要的平均时间是,所需要的附加空间是。
46. 设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X)中的关键码按字母序的升序重新排列,则:冒泡排序一趟扫描的结果是;初始步长为4的希尔(shell)排序一趟的结果是;二路归并排序一趟扫描的结果是;快速排序一趟扫描的结果是;堆排序初始建堆的结果是。
二、单项选择题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. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动()个元素A. 8B. 63.5C. 63D. 710. 链接存储的存储结构所占存储空间()。
A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B.只有一部分,存放结点值C. 只有一部分,存储表示结点间关系的指针D. 分两部分,一部分存放结点值,另一部分存放结点所占单元数11. 链表是一种采用()存储结构存储的线性表;A. 顺序B. 链接C. 星式D. 网状12. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址:A. 必须是连续的B. 连续或不连续都可以C. 部分地址必须是连续的D. 一定是不连续的13.线性表L在()情况下适用于使用链式结构实现。
A. 需经常修改L中的结点值B.需不断对L进行删除插入C. L中含有大量的结点D. L中结点结构复杂14.单链表的存储密度A. 大于1B. 等于1C. 小于1D. 不能确定15.线性表的链接存储结构是一种()的存储结构。
A. 随机存取B. 顺序存取C. 索引存取D. 散列存取16.链表不具有的特点是()。
A.可随机访问任一元素 B. 插入、删除不需要移动元素C. 不必事先估计存储空间D. 所需空间与线性表长度成正比17.数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为()。
A. r-fB.(n+f-r)% n;C. n+r-f;D.(n+r-f)% n18.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为()。
A.i B.n=i C.n-i+1 D.不确定19.串是一种特殊的线性表,其特殊性体现在:A.可以顺序存储B.数据元素是一个字符C.可以链式存储D.数据元素可以是多个字符20.设有两个串p和q,求q在p中首次出现的位置的运算称作()。
A.连接B.模式匹配C.求子串D.求串长21.假设有60行70列的二维数组a[1…60, 1…70]以列序为主序顺序存储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a[32,58]的存储地址为()。
(无第0行第0列元素)A.16902 B.16904 C.14454 D.答案A, B, C均不对答:(57列×60行+31行)×2字节+10000=1690222.不含任何结点的空树()。
A.是一棵树B.是一棵二叉树C.是一棵树也是一棵二叉树D.既不是树也不是二叉树23.二叉树是非线性数据结构,所以()。
A.它不能用顺序存储结构存储B.它不能用链式存储结构存储C.顺序存储结构和链式存储结构都能存储D.顺序存储结构和链式存储结构都不能使用24.具有n(n>0)个结点的完全二叉树的深度为()。
A. ⎡log2(n)⎤B. ⎣ log2(n)⎦C. ⎣ log2(n) ⎦+1D. ⎡log2(n)+1⎤25.把一棵树转换为二叉树后,这棵二叉树的形态是()。
A.唯一的B.有多种C.有多种,但根结点都没有左孩子D.有多种,但根结点都没有右孩子26.二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。
A.空或只有一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子27.讨论树、森林和二叉树的关系,目的是为了()。
A 借助二叉树上的运算方法去实现对树的一些运算B 将树、森林按二叉树的存储方式进行存储并利用二叉树的算法解决树的有关问题C 将树、森林转换成二叉树D 体现一种技巧,没有什么实际意义28.一个高度为h的满二叉树共有n个结点,其中有m个叶子结点,则有()成立。
A n=h+mB h+m=2nC m=h-1D n=2m-129. 在一个图中,所有顶点的度数之和等于图的边数的()倍。
A.1/2 B. 1 C. 2 D. 4 30.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍。
A.1/2 B. 1 C. 2 D. 431. 有8个结点的无向图最多有()条边。
A.14 B. 28 C. 56 D. 11232. 有8个结点的无向连通图最少有()条边。
A.5 B. 6 C. 7 D. 833. 有8个结点的有向完全图有()条边。
A.14 B. 28 C. 56 D. 11234. 用邻接表表示图进行广度优先遍历时,通常是采用()来实现算法的。
A.栈 B. 队列 C. 树 D. 图35.无向图的邻接矩阵是一个(),有向图的邻接矩阵是一个()。