103.直接选择排序的时间复杂度为 D 。(n 为元素个数) A.O(n) B.O(log2n) C.O(nlog2n) D. O(n2)
二、填空题。
1.数据逻辑结构包括 线性结构 、 树形结构 和 图状结构 三种类型,树形结构和图状结构合称 非线性结构 。
2.数据的逻辑结构分为 集合 、线性结构 、 树形结构 和 图状结构 4种。
3.在线性结构中,第一个结点 没有 前驱结点,其余每个结点有且只有 1 个前驱结点;最后一个结点 没有 后续结点,其余每个结点有且只有 1 个后续结点。
4.线性结构中元素之间存在 一对一 关系,树形结构中元素之间存在 一对多 关系,图形结构中元素之间存在 多对多 关系。
5.在树形结构中,树根结点没有 前驱 结点,其余每个结点有且只有 1 个前驱结点;叶子结点没有 后续 结点,其余每个结点的后续结点可以 任意多个 。
21
6.数据结构的基本存储方法是 顺序 、 链式 、 索引 和 散列 存储 。
7.衡量一个算法的优劣主要考虑正确性、可读性、健壮性和 时间复杂度与 空间复杂度 。
8.评估一个算法的优劣,通常从 时间复杂度 和 空间复杂度 两个方面考察。
9.算法的5个重要特性是 有穷性 、 确定性 、 可行性 、输入和输出。
10.在一个长度为n的顺序表中删除第i个元素时,需向前移动 n-i-1 个元素。
11.在单链表中,要删除某一指定的结点,必须找到该结点的 前驱 结点。
12.在双链表中,每个结点有两个指针域,一个指向 前驱 结点,另一个指向 后继结点 。
13.在顺序表中插入或删除一个数据元素,需要平均移动 n 个数据元素,移动数据元素的个数与 位置 有关。
14.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最
22
快的速度存取线性表的元素是,应采用 顺序 存储结构。
15.根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成 单链表 和 双链表 。
16.顺序存储结构是通过 下标 表示元素之间的关系的;链式存储结构是通过 指针 表示元素之间的关系的。
17.带头结点的循环链表L中只有一个元素结点的条件是 L->next->next=L 。
18. 栈 是限定仅在表尾进行插入或删除操作的线性表,其运算遵循 后进先出 的原则。
19.空串是 零个字符的串 ,其长度等于 零。空白串是由一个或多个空格字符组成的串,其长度等于其包含的空格个数。
20.组成串的数据元素只能是 单个字符 。
21.一个字符串中 任意个连续字符构成的部分 称为该串的子串。
22.子串 ”str” 在主串 ”datastructure” 中的位置是 5 。
23.二维数组M的每个元素是6个字符组成的串,行下标i的范围从0到8,列
23
下标j的范围从1到10,则存放M至少需要 540个字节;M的第8列和第5行共占108个字节。
24.稀疏矩阵一般的压缩存储方法有两种,即 三元组表 和 十字链表 。
25.广义表((a),((b),c),(((d))))的长度是 3 ,深度是 4 。
26.在一棵二叉树中,度为零的结点的个数为n0,度为2 的结点的个数为n2,则有n0= n2+1 。
27.在有n个结点的二叉链表中,空链域的个数为__n+1__。
28.一棵有n个叶子结点的哈夫曼树共有__2n-1_个结点。
29.深度为5的二叉树至多有 31 个结点。
30.若某二叉树有20个叶子结点,有30个结点仅有一个孩子,则该二叉树的总结点个数为 69 。
31.某二叉树的前序遍历序列是abdgcefh,中序序列是dgbaechf,其后序序列为 gdbehfca 。
24