理论题
纯理论
1. 以各栈的初始状态为空,将元素(字母数字)依次入栈,则元素出栈的顺序(与之前相
反),栈顶元素是最后入栈的,最先被删除。在整个过程中,栈底指针不变,栈中元素
随栈顶指针变化而动态变化
栈是先进后出的线性表;队列是先进先出的线性表;栈和对都是线性结构。
栈支持子程序调用,栈是一种只能在一端进入插入或删除的线性表,在主程序调用子函
数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返
回到主程序中调用子程序的位置,继续向下执行。
数据的插入和删除都在栈顶进行操作。
算法是指解题方案的准确而完整的描述,算法不等于程序也不等于计算方法。设计算法
时,不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
2. 循环队列有队头和队尾两个指针,但依然是线性结构。在循环队列中,只需要队头指针
和队尾指针两个指针来共同反映队列中元素中的动态变化情况。循环队列的队头指针和
队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构,
所以队头指针有时可能大于队尾指针有时也可能小于队尾指针
3. 顺序存储结构一定是连续的;链式存储结构不一定是连续的,链式存储结构可以针对线
性结构也可以针对非线性结构(都可以表示,这取决于指针域的指向),链式的结构存
储中每个结点都由数据域和指针域两个部分组成,增加了存储空间。链式存储结构比顺
序存储结构占据的空间还大。队列的顺序存储结构一般采用循环队列形式。
4. 线性结构:在数据结构非空的情况下,有且只有一个根结点;每一个结点最多有一个前
件,也最多有一个后件。各元素关系均为一对一,最多存在一前一后挨着它的数据元素。
5. 一般来说,在线性表的链式存储结构(线性链表)中,各数据结点的存储序号是不连续
的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中,数据的插
入和删除都不需要移动表的元素,只需改变结点的指针域即可。
6. 有序线性表既可以采用顺序存储结构也可以采用链式存储结构。
7. 线性结构:循环队列、带链队列、带链栈、(循环链表和双向链表都是线性结构的数据
结构)
非线性结构:树(二叉树是树的一种)
线性结构应该满足:有且只有一个根结点,每个结点最多有一个前件,也最多有一个后
件。所有有一个以上根结点的数据结构一定是非线性结构。(只有一个根结点的数据结
构不一定是线性结构) 具有两个以上叶子结点(两个根结点)的的数据结构一定是非
线性结构。
8. 二叉树的基本性质 3:在任意一棵二叉树中,度数为 0 的叶子节点总是比度数为 2 的节
点多一个 结点的度:结点子树的个数;意思是子树为二的节点有五个;叶子结点:是
度为 0 的结点
深度:最长一条线段上的点
9. 树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。
10. 数据流图中带有箭头的线段表示 数据流,沿箭头方向传送数据的通道,一般在旁边标
注数据流名
程序流程图中带有箭头的线段表示的是控制流
11. 在面向对象方法中,
“对象”基本特点的是 标识唯一性、模块独立性好、多态性、分类性、封装性。
评论0
最新资源