注意:此页面搜索的是所有试题
安阳师范学院-计算机应用技术-数据结构
在等概率情况下,在长度为n的顺序表中插入和删除一个结点需平均移动___________个结点和___________个结点,具体的移动次数取决于___________和___________。
输入线性表的n个元素建立带头结点的单链表,其时间复杂度为___________。在双向循环链表中插入一个新的结点时,应修改_________个指针域的值。
在一个带头结点的单循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head可用p表示为head=___。
将两个长度分别为m和n的递增有序单链表,归并成一个按元素递减有序的单链表,可能达到的最好的时间复杂度是 _____。在一个长度为n的单链表L中,删除链表中*p的前驱结点的时间复杂度为_________。
如果需要对线性表频繁进行_____操作,则不宜采用顺序存储结构。长度为n的线性表采用单链表结构存储时,在等概率情况下查找第i个元素的时间复杂度是___。
在一个长度为100的顺序表中删除第10个元素时,需要移动 个元素。
要在[0..n-l]的向量空间中建立两个栈stackl和stack2,请回答: (1)应该如何设计这两个栈才能充分利用整个向量空间? (2)若stackl的栈顶指针为topl,stack2的栈顶指针为top2,如果需要充分利用整个向量空间,则: 栈stackl空的条件是:___________; 栈stack2空的条件是:___________; 栈stackl和栈stack2满的条件是:___________。
链栈中为何不设置头结点?
设栈S=(1,2,3,4,5,6,7),其中7为栈顶元素。请写出调用algo(&s)后栈S的状态。 void algo(Stack *S) { int i=0; Queue Q; Stack T; InitQueue(&Q);InitStack(&T); while (!StackEmpty(S)) { if((i=!i)!=0)Push(&T,Pop(&S)); else EnQueue(&Q,Pop(&S)); } while(!QueueEmpty(Q)) Push(&S,DeQueue(&Q)); while(!StackEmpty(T)) Push(&S,Pop(&T)); }
栈和线性表的差别为线性表是具有 的数据元素的一个有限序列。栈是限定仅在 进行插入或删除操作的线性表。
假设循环队列的元素存储空间大小为m,队头指针f指向队头元素,队尾指针r指向队尾元素的下一个位置,则在少用一个元素空间的前提下,表示“队满”的条件是___。
栈顶的位置是随着______ 操作而变化的。设栈S的初始状态为空,若元素a、b、c、d、e、f依次进栈,得到的出栈序列是b、d、c、f、e、a,则栈S的容量至少是___。
栈下溢是指在____时进行出栈操作。
已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,则在队列不满的情况下,队列的长度是___。
假设为循环队列分配的向量空间为Q[20],若队列的长度和队头指针值分别为13和17,则当前尾指针的值为______。