数据结构
1、用链表表示线性表的优点是(便于插入和删除操作)
2、单链表中,增加头结点的目的是(方便运算的实现)
3、栈和队列的共同特点是(只允许在端点处插入和删除元素)
4、栈通常采用的两种存储结构是(线性存储结构和链表存储结构)
5、队列具有(先进先出)的特征,栈具有(后进先出)的特征。
6、链表(插入和删除不需要移动元素,但是无法随机访问任一元素)
7、循环链表的主要优点是(从表中任一结点出发都能访问到整个链表)
8、线性表(除了第一个和最后一个元素外,其余每个元素都有一个直接前驱和直接后继)
9、线性表的顺序存储结构和线性表的链式存储结构分别是(随机存取的存储结构、顺序存取的存储结构)
10.#完全二叉树总的结点数为N,若N为奇数,则叶子结点数为(N+1)/2;若N为偶数,则叶子结点数为N/2。
11、具有3个结点的二叉树有(5)种形态。#高度为2层的是:根-左-右。高度为3层的是:根-左-左、根-左-右、根-右-右、根-右-左。
12、一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为(13)个。#叶子结点数n0与度为2的结点数n2的关系是:n0=n2+1,所以度为2的结点个数为3-1=2。所以总的结点数为n=n0+n1+n2,8+2+3=13.
13、已知二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(cedba)。
14、已知二叉树的前序遍历序列是abdgcefh,中序遍历序列是dgbaechf,它的前序遍历序列是(gdbehfca)。
15、算法是指(解决方案的准确而完整的描述)。
16、算法由(顺序、选择、循环)控制结构组合而成。
17、算法的时间复杂度是指(算法执行过程中所需要的基本运算次数)。
18、算法的空间复杂度是指(执行过程中所需要的存储空间)。
19、算法分析的目的是(分析算法的效率以求改进)。
20、数据的存储结构是指(数据的逻辑结构在计算机中的表示)。
21、数据的逻辑结构是指(反映数据元素之间逻辑关系的数据结构)。
22、根据数据结构中各元素之间前后件关系的复杂程度,可将数据结构分为(线性结构和非线性结构)。线性结构一般是首无前驱,尾无后继,中间元素有唯一的前驱和后继。主要有:列表、链表、队列、栈。
非线性结构主要有1、没有对应关系的集合。2、一对多关系的树。3、多对多关系的图。
23、(队列,循环队列,顺序表)不具有记忆功能,(栈)具有记忆功能。
24、递归算法一般需要用(栈)来实现。
#在递归算法的运行过程中,需要利用栈来保存其运算结果、参数和返回地址等。
25、算法的五个基本特征是:可行性,确定性,和拥有足够的情报
有限性:算法在执行有限步后必须终止。
确定性:算法的每个步骤都需要精确地定义,严格地、无歧义的运行。
输入:算法在运行之前赋给它的量。
输出:算法运行结束时的结果。
可行性:算法原则上能够精准地运行,而且人们用纸和笔做有限次运算后即可完成。
26、由两个栈共享一个存储空间的好处是(节省存储空间,降低上溢发生的概率)。
为了不发生上溢错误,就必须给每个栈分配一个足够大的存储空间。但实际中,很难准确地估计,若每个栈都分配过大的存储空间,势必造成系统空间紧张;若让多个栈共用一个足够大的连续存储空间,则可利用栈的动态特性使它们的存储空间互补。
27、需要打印机输出数据时,一般将打印作业放在一个(队列)中。
28、非空的循环单链表head的尾结点(由p所指向),满足(p-next=head)。
29、与单链表相比,双向链表的优点是(更容易访问相邻结点)。
30、N个顶点的连通图中边的条数至少为(N-1)条。#将所有顶点连成一条线即可。
31、N个顶点的强连通图中边的条数至少为(N)条。#将所有顶点连成一条圈
32、对长度为n的线性表进行顺序查找,最坏情况下需要比较(N)次。
33、最简单的交换排序是(冒泡排序)。
34、对长度为n的线性表进行顺序冒泡排序,最坏情况下需要比较(n(n-1)/2)次。
#一共比较n-1遍,第1遍需要比较n-1次,第1遍需要比较n-2次,........最后一遍需要比较1次。是一个等差序列,对其进行求和即可。
35.插入排序通过数据元素的交换来逐步消除线性表中的逆序,所以比较的次数与初始排列次序有关,在待排序的元素序列基本有序的前提下,效率最高。而选择排序和堆排序的比较次数与初始排列次序无关。快速排序虽然与初始排列次序有关,但在待排序的元素序列基本有序的前提下,效率低于插入排序。
36、希尔排序属于(插入类排序),堆排序属于(选择类排序)。
37、快速排序的基本思想是,通过一趟排序将待排序记录分割成独的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,再分别对这两部分记录继续进行排序,以达到整个序列有序;插入排序的基本操作是指将无序序列中的各元素依次插入到已经有序的线性表中,从而得到一个新的序列;选择排序的基本思想是:扫描整个线性表,从中选出最小的元素,将它交换到表的最前面(这是它应有的位置),然后对剩下的子表采用同样的方法,直到表空为止;归并排序是将两个或两个以上的有序表组成合成一个新的序列表。
38、已知数据表A中每个元素距其最终位置不远,为节省时间,应采用(直接插入排序)。
39、数据结构是指相互有关联的(数据元素)的集合。
40、数据元素之间的任何关系都可以用(前驱和后继)关系来描述。
41、顺序存储方法是把逻辑上相邻的结点存储在(物理位置)相邻的存储单元中。
42、栈的基本运算有三种:入栈、退栈与读栈顶元素。
43、队列主要有两种基本运算:入队和退队。
44、在实际应用中,带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,这种带链的栈称为(可利用栈).
45、栈和队列通常采用的存储结构分别是链式存储和顺序存储。
46、当循环队列非空且队尾指针等于对头指针时,说明循环队列已满,不能进行入队运算。这种情况称为(上溢)
47、当循环队列为空时,不能进行退队运算,这种情况称为(下溢)。
48、在一个容量为25的循环队列中,若头指针front=16,尾指针rear=9,则该循环队列中共有18个元素。注:当rearfront时,元素个数=总容量-(front-rear);当rearfront时,元素个数=rear-front。
—END—
文编:丁雪澜
排版:李雨欣
图片来源于网络
终审:李晋梁袁江鹏
扫