查看所有试题
- 判断一个循环队列Q(最多n个元素)为满的条件是()。一个非空广义表的表头()。Q->rear==Q->front
Q->rear==Q->front+1
Q->front==(Q->rear+1)%n#
Q->front==(Q->rear-1)%n不可能是子
- d,则栈的不可能输出的序列是()。链表不具有的特点是()。解决哈希冲突的主要方法有()。以下哪个数据结构不是多型数据类型()设F是一个森林,则B中右指针域为空的结点有()个。a,c,e
d,b,c,a,d,b
- 写出算法的功能。int L(head){node * head;int n=0;node *p;p=head;while(p!=NULL){ p=p->next; n++; }return(n);}在一个长度为n的顺序表中,在第i个元素之前插入一个新元素时,需向后移动()个元素。求单链表head
- 函数实现单链表的删除算法,请在空格处将算法补充完整。int ListDelete(LinkList L,int i,ElemType *s){LNode *p,*q;int j;p=L;j=0;while(((1) )&&(jnext;j++;}if(p->next==NULLj>i-1) return ERROR;
- 顺序表中,插入一个元素所需移动的元素平均数是()。在一个图中,所有顶点的度数之和等于图的边数的()倍。若串P=”structure”,其子串的数目是()。设有一个递归算法如下试问计算x(x(8))时需要计算()次x函数。
- 函数ListDelete_sq实现顺序表删除算法,请在空格处将算法补充完整。int ListDelete_sq(Sqlist *L,int i){int k;if(iL->length) return ERROR;for(k=i-1;klength-1;k++) L->slist[k]=(1); (2) ; return OK;}
- 函数实现单链表的插入算法,请在空格处将算法补充完整。int ListInsert(LinkList L,int i,ElemType e){LNode *p,*s;int j;p=L;j=0;while((p!=NULL)&&(jnext;j++;}if(p==NULLj>i-1) return ERROR;s=(LNode
- 下列数据中,()是非线性数据结构。栈
队列
完全二叉树#
堆
- 单链表的存储密度()线性表L()情况下适用于使用链式结构实现。大于1
等于1
小于1#
不能确定需经常修改L的结点值
需不断对L行删除插入#
L含有大量的结点
L结点结构复杂
- 链式存储的线性表可以随机存取堆排序是一种()排序。线性表L()情况下适用于使用链式结构实现。正确#
错误插入
选择#
交换
归并需经常修改L的结点值
需不断对L行删除插入#
L含有大量的结点
L结点结构复杂
- 函数GetElem实现返回单链表的第i个元素,请在空格处将算法补充完整。int GetElem(LinkList L,int i,Elemtype *e){LinkList p;int j;p=L->next;j=1;while(p&&ji)return ERROR;*e= (2) ;return OK;}无向图
- 在线性表的顺序存储结构中,逻辑上相邻的两个元素但是在物理位置上不一定是相邻的。若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度()。数据在计算机存储器内表示时,物理地址与逻
- 顺序存储方式只能用于存储线性结构。将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子编号为()。正确#
错误98#
99
50
48
- 用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针。线性表是具有n个()的有限序列。正确#
错误字符
数据元素#
数据项
表元素
- 在具有头结点的单链表中,头指针指向链表的第一个数据结点。对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。已知一个顺序存储的线性表,设每个结点需占m个存储单元,若第一个结点的地址为da1,
- 带头结点的单链表head为空的条件是()。带头结点的单链表head为空的判定条件是()。依次在初始为空的队列中插入元素a,b,c,d以后,紧接着做了两次删除操作,此时的队头元素是()。线性表L在()情况下适用于使用链
- 在一个单链表中删除p所指结点的后继结点时,应执行以下操作:q=p->next;p->next=();冒泡排序在最坏情况下的比较次数是()q->nextn(n+1)/2
nlog2n
n(n-1)/2#
n/2
- 线性表的逻辑结构是(),其所含元素的个数称为线性表的()。下面程序段的时间复杂度为()。i=1;while(i线性结构长度O(n)
O(3n)
O(log3n)#
O(n3)
- 写出带头结点的双向循环链表L为空表的条件()。树是结点的有限集合,它()根结点,记为T。其余结点分成为m(m>=0)个互不相交的集合T1,T2,…,Tm,每个集合又都是树。写出带头结点的双向循环链表L为空表的条件。有0
- 在散列查找中,平均查找长度主要与()有关。在数据结构中,与所使用的计算机无关的是数据的()结构。在一个有向图的邻接表中,每个顶点单链表中结点的个数等于该顶点的()。散列表长度
散列元素个数
装填因子#
处理
- 设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。q->next=p->next,p->next=q
- 针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p->next->next==head,则()。一个顺序表的第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的存储地址是()。有一个100×90的稀疏矩阵,
- 带权有向图G用邻接矩阵A存储,则顶点i的入度为A中:()。第i行非的元素之和
第i列非的元素之和
第i行非且非0的元素个数
第i列非且非0的元素个数#
- 在一棵具有n个结点的二叉链表中,所有结点的空域个数等于()。n
n-1
n+1#
2*
- 一个队列的入队序列是1,2,则队列的出队序列是()。若邻接表中有奇数个表结点,3,3,2,1
1,4,3,2
3
- 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入一个结点s,则执行()。稀疏矩阵一般的压缩存储方法有两种,即()。在无向图中定义顶点Vi域Vj之间的路径为从Vi到达Vj的一个()。算法的计算量
- 在头指在单链表中,指针p指向元素为x的结点,实现删除x的后继的语句是()。若已知一个栈的入栈序列是1,2,3,…,n,p2,pn,则pi为()一个广义表的表尾总是一个()。p=p->next;
p->next=p->next->next;#
p-
- 在表长为n的顺序表中,当在任何位置删除一个元素的概率相同时,删除一个元素所需移动的平均个数为()。(n-1)/2#
n/2
(n+1)/2
n
- 一个队列的入队序列是1,2,4,则队列的输出序列是()。4,3,3,4#
1,4,3,1
- 在线索化树中,还是线索化信息,若0标识树结构信息,1标识线索,应标识为()。以下数据结构中,()是线性结构。通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。00
01
10
11#哈希
- 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。有8个结点的有向完全图有()条边。下面关于串的的叙述中,()
- 线性表是n个()的有限序列。表元素
字符
数据元素#
数据项
- 在头指在单链表中,指针p指向元素为x的结点,实现删除x的后继的语句是()。任何一个无向连通图的最小生成树()p=p->next;
p->next=p->next->next;#
p->next=p;
p=p->next->next;只有一棵#
- 带头结点的单链表head为空的判定条件是()。设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用()最节省时间。head==NULL
head->next==NULL#
head->next!=NULL
head!=NULL单链表
单循环链表
带尾
- 循环链表的主要优点是()。n个顶点的完全有向图中含有()。对n个元素进行直接插入排序时间复杂度为()。不再需要头指针
已知某结点位置后能容易找到其直接前驱
在进行插入、删除运算时能保证链表不断开
在表中任
- 顺序表中,插入一个元素所需移动的元素平均数是()。以下数据结构中,()是线性结构。带头结点的单链表first为空的判定条件是()。设有下列二叉树:对此二叉树后序遍历的结果为()(n-1)/2
n
n+1
(n+1)/2#哈希
- 线性表的顺序存储结构是一种()存储结构。()不含任何结点的空树。在一个长度为n的顺序表中删除第i个元素,需要向前移动()个元素。数组就是矩阵,矩阵就是数组,这种说法()一个广义表的表头总是一个()。随机存
- 在一个单链表中,若删除p所指向结点的后续结点,则执行()。队列的插入操作是在()。表达式A*(B+C)/(D-E+F)的后缀表达式是()。当各边上的权值()时,BFS算法可用来解决单源最短路径问题。通常从正确性、易读性
- 将长度为n的单链表连接在长度为m的单链表之后的算法的时间复杂度为()。在作进栈运算时,应先判别栈是否()。O(1)
O(n)
O(m)#
O(m+n)空
满#
上溢
下溢
- 一个非空广义表的表头()。不可能是子表
只能是子表
只能是原子
可以是子表或原子#