PAGE \* MERGEFORMAT 18
考点1答案:数据结构与算法(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)【解析】根据二叉树