理论题纯理论1.以各栈的初始状态为空,将元素(字母数字)依次入栈,则元素出栈的次序( 与之前相反),栈顶元素是最终入栈的,最先被删除。在整个过程中,栈底指针不变,栈中元素随栈顶指针变化而动态变化栈是先进后出的线性表;队列是先进先出的线性表;栈和对都是线性构造。栈支持子程序调用,栈是一种只能在一端进入插入或删除的线性表,在主程序调用子函数时要首先保留主程序目前的状态,然后转去执行子程序,最终把子程序的执行成果返回到主程序中调用子程序的位置,继续向下执行。数据的插入和删除都在栈顶进行操作。算法是指解题方案的精确而完整的描述,算法不等于程序也不等于计算措施。设计算法时,不仅要考虑对数据对象的运算和操作,还要考虑算法的控制构造。2.循环队列有队头和队尾两个指针,但仍然是线性构造。在循环队列中,只需要队头指针和队尾指针两个指针来共同反应队列中元素中的动态变化状况。循环队列的队头指针和队尾指针都不是固定的,伴随入队与出队操作要进行变化。由于是循环运用的队列构造,因此队头指针有时也许不小于队尾指针有时也也许不不小于队尾指针3.次序存储构造一定是持续的;链式存储构造不一定是持续的, 链式存储构造可以针对线性构造也可以针对非线性构造(都可以表达,这取决于指针域的指向) ,链式的构造存储中每个结点都由数据域和指针域两个部分构成,增长了存储空间。链式存储构造比次序存储构造占据的空间还大。队列的次序存储构造一般采用循环队列形式。4.线性构造:在数据构造非空的状况下,有且只有一种根结点;每一种结点最多有一种前件,也最多有一种后件。各元素关系均为一对一,最多存在一前一后挨着它的数据元素。5.一般来说,在线性表的链式存储构造(线性链表)中,各数据结点的存储序号是不持续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中,数据的插入和删除都不需要移动表的元素,只需变化结点的指针域即可。6.有序线性表既可以采用次序存储构造也可以采用链式存储构造。7.线性构造:循环队列、带链队列、带链栈、(循环链表和双向链表都是线性构造的数据构造)非线性构造:树(二叉树是树的一种)线性构造应当满足:有且只有一种根结点,每个结点最多有一种前件,也最多有一种后件。所有有一种以上根结点的数据构造一定是非线性构造。(只有一种根结点的数据构造不一定是线性构造) 具有两个以上叶子结点(两个根结点)的的数据构造一定是非线性构造...