考点1数据结构与算法

发布 2021-05-02 17:38:28 阅读 4844

(1) 【答案】 d) 【解析】算法是指解题方****而完整的描述,算法既不等于程序,也不等于计算方法,因此a)错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构,因此b)和c)错误。

2) 【答案】 a) 【解析】算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。算法的有穷性是指算法程序的运行时间是有限的,因此本题答案为a)。

3) 【答案】 a) 【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间,因此本题答案为a)。

4) 【答案】 b) 【解析】线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,因此b)正确。因为有一个以上根结点的数据结构一定是非线性结构,所以a)错误。

循环链表和双向链表都是线性结构的数据结构。

5) 【答案】 a) 【解析】栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子程序时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,然后继续向下执行,这种调用方式符合栈的特点,因此本题的答案为a)。

6) 【答案】 b) 【解析】栈是只允许在同一端进行插入和删除运算的线性表,按“先进后出”组织数据,因此本题答案为b)。

7) 【答案】 b) 【解析】栈按后进先出的原则组织数据,因此入栈最晚的最先出栈,因此本题答案为b)。

8) 【答案】 b) 【解析】栈是按先进后出的原则组织数据的;队列是按先进先出的原则组织数据的,因此本题答案为b)。

9) 【答案】 a) 【解析】栈是先进后出的数据结构,因此栈顶元素最**栈却最先被删除,栈底元素最先入栈却最后被删除,所以本题答案为a)。

10) 【答案】 c) 【解析】栈是先进后出的数据结构,在对栈操作的整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来完成,因此本题答案c)。

11) 【答案】 d) 【解析】栈是先进后出的线性表,因此a)错误;队列是先进先出的线性表,因此b)错误;循环队列是线性结构的线性表,因此c)错误,故本题答案为d)。

12) 【答案】 d) 【解析】栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构,因此本题答案为d)。

13) 【答案】 d) 【解析】循环队列有队头和队尾两个指针,但是循环队列仍是线性结构,因此a)错误;在循环队列中需要队头与队尾两个指针来共同反映队列中元素的动态变化情况,因此b)与c)错误,故本题答案为d)。

14) 【答案】 d) 【解析】循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构,所以对头指针有时可能大于队尾指针有时也可能小于队尾指针,故本题答案为d)。

15) 【答案】 b) 【解析】在实际应用中,队列的顺序存储结构一般采用循环队列的形式,循环队列是线性结构,因此本题答案为b。

16) 【答案】 a) 【解析】链式存储结构既可以针对线性结构也可以针对非线性结构,因此b)与c)错误。链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,因此d)错误。本题答案为a)。

17) 【答案】 b) 【解析】线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,因此一般要多于顺序存储结构,选项b)正确。

18) 【答案】 c) 【解析】一般来说,**性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。因此,本题答案为c)。

19) 【答案】 c) 【解析】树是简单的非线性结构,因此二叉树作为树的一种属于非线性结构,答案c)正确。

20) 【答案】 c) 【解析】根据总体结构图可以看出该树的深度为3,比如:xy系统——功能2——功能2.1,就是最深的度数的一个表现,因此本题答案为c)。

21) 【答案】 c) 【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,因此本题答案是5+1=6,故选择c)。

22) 【答案】 d) 【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总比度为2的结点多一个,因此本题中度为2的结点为1-1=0个,据此可以知道本题目中的二叉树的每一个结点都有一个分支,所以共7个结点共7层,即深度为7,选择d)。

23) 【答案】 b) 【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,因此答案为b)。

24) 【答案】 a) 【解析】根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1=4个,所以度为1的结点的个数是25-5-4=16个,选择a)。

25) 【答案】 c) 【解析】当有序线性表为顺序存储时才能用二分法查找。可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较log2n 次,而顺序查找需要比较n次,因此本题答案为c)。

26) 【答案】 d) 【解析】快速排序、冒泡排序和直接插入排序在最坏情况下,比较次数都是n(n-1)/2,堆排序在最坏情况下的比较次数最少,是o(nlog2n),因此本题答案为d)。

27) 【答案】 d) 【解析】冒泡排序、直接插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2n,因此本题答案为d)。

1 数据结构与算法

第一章数据结构与算法。1.1算法。算法 是指解题方 而完整的描述。1 算法特征 1 可行性 2 确定性 每个步骤必须有明确定义,不能模棱两可 3 有穷性 在有限个步骤后终止 4 拥有足够的情报 算法的基本要素 1 对数据对象的运算和操作 包括算术运算 逻辑运算 关系运算 数据传输。2 算法的控制结构...

1算法与数据结构

算法与数据结构综合应用。数值计算问题 1 打印所有的 水仙花数 所谓 水仙花数 是指一个三位数,其各位数字立方和等于该数字本身,例如 2 一个数如果恰好等于它的因子之和,这个数就称为 完数 例如 6的因子为 而6 1 2 3,因此6是 完数 编程序找出1000以内的所有完数。3 已知四位数3025有...

算法与数据结构 1 1

第1章 1.3.2 p7 环路复杂度。1.3.3 p9 10 时间复杂度的计算,大o记号 p22 9 第2章 2.2.2 p31 地址计算公式 p49 4 2.2.3 p32 矩阵压缩。2.3.3 p41 模式匹配改进算法next函数值的计算 p50 18 第3章 3.3 p69 栈的考察 p90 ...