数据结构与算法
集合与线性表的区别在于是否按关键字排序。
对于队列操作数据的原则是( )。
表达式a*(b+c)-d的后缀表达式是()。
在作进栈运算时,应先判别栈是否( ① ),在作退栈运算时应先判别栈是否( ② )。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为( ③ )。
为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的 ( ④ )分别设在这片内存空间的两端,这样,当( ⑤ )时,才产生上溢。
递归函数的递归计算过程借助于数据结构的()实现 。
若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为()。
栈和队列的共同点是()。
判定一个循环队列Q(最多有m0 个元素采用“少用一个元素空间”来判别队空队满)为满的条件是()。
一个递归算法必须包括( )。
用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。
递归过程或函数调用时,处理参数及返回地址,要用一种称为( )的数据结构。
消除递归不一定需要使用栈,此说法对吗? ( )
两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。( )
有n个数顺序(依次)进栈,出栈序列有Cn种,Cn=[1/(n+1)]*(2n)!/[(n!)*(n!)]。( )
栈与队列是同一种特殊操作的线性表。
若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1.
只有那种使用了局部变量的递归过程在转换成非递归过程时才必须使用栈。( )
栈是一种插入与删除操作在表的一端进行的线性表,是一种先进后出型结构。( )
队列逻辑上是一个下端和上端既能增加又能减少的线性表。( )
循环队列可以用顺序结构存储也可以用链式存储结构实现。( )