设循环链队列的长度为n,若只设尾指针,则出队和入队的时间复杂度分别是()和()。
点击查看答案
循环队列Q的元素入队时的队尾指针操作是()。A、rear=(rear+1)%sizeB、rear=rear+1C、front==(rear+1)%nD、front==(rear-1)%n
在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为()。A、front=front->nextB、rear=rear->nextC、rear=front->nextD、front=rear->next
设在一不带头结点的链队列中,front和rear分别为其队头和队尾指针,则判定该队中只有一个结点的条件是()。A、front->nextB、rear->nextC、front==rearD、front!=rear
设在一不带头结点的链队列中,front和rear分别为其队头和队尾指针,则删除一个结点的操作是()。A、rear=front->nextB、rear=rear->nextC、front=front->nextD、front=rear->next
阅读下列函数说明和C函数,将应填入(n)处的字句写对应栏内。[说明]二叉树的二叉链表存储结构描述如下:typedef struct BiTNode{ datatype data;struct BiTNode *lchild, * rchild; /*左右孩子指针*/}BiTNode,* BiTree;对二叉树进行层次遍历时,可设置一个队列结构,遍历从二叉树的根结点开始,首先将根结点指针入队列,然后从队首取出一个元素,执行下面两个操作:(1) 访问该元素所指结点;(2) 若该元素所指结点的左、右孩子结点非空,则将该元素所指结点的左孩子指针和右孩子指针顺序入队。此过程不断进行,当队列为空时,二叉树的层次遍历结束。下面的函数实现了这一遍历算法,其中Visit(datatype a)函数实现了对结点数据域的访问,数组queue[MAXNODE]用以实现队列的功能,变量front和rear分别表示当前队首元素和队尾元素在数组中的位置。[函数]void LevelOrder(BiTree bt) /*层次遍历二叉树bt*/{ BiTree Queue[MAXNODE];int front,rear;if(bt= =NULL)return;front=-1;rear=0;queue[rear]=(1);while(front (2) ){(3);Visit(queue[front]->data); /*访问队首结点的数据域*/if(queue[front]—>lchild!:NULL){ rear++;queue[rear]=(4);}if(queue[front]->rchild! =NULL){ rear++;queue[rear]=(5);}}}
假定一个链队列的队首和队尾指针分别为front和rear,则判断队空的条件为( )。A.front==rearB.front!=NULLC.rear!=NULLD.front==NULL