出自:国家开放大学《数据结构》

队列的插入操作在()进行。
A:队头
B:队尾
C:队头或队尾
D:在任意指定位置
设有一个不带头结点的单向链表,头指针为head,结点类型为NODE,每个结点包含一个数据域data和一个指针域next,该链表有两个结点,p指向第二个结点(尾结点),按以下要求写出相应语句。

第1题,共4个问题
(简答题)新开辟一个结点,使指针s指向该结点,结点的数据成员data赋值为1。

第2题,共4个问题
(简答题)把该结点插入链表的尾部,释放指针s的指向。

第3题,共4个问题
(简答题)删除链表的第一个结点。

第4题,共4个问题
(简答题)已知p1指向另一个新结点,把它插入到p所指结点和尾结点之间。
元素2,4,6,8按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。
A:8,6,4,2
B:2,4,6,8
C:4,2,8,6
D:8,6,2,4
一个递归算法必须包括()。
A:递归部分
B:迭代部分
C:终止条件和迭代部分
D:终止条件和递归部分
数据结构中,与所使用的计算机无关的是数据的()结构。
A:物理
B:存储
C:逻辑与物理
D:逻辑
数据结构中的数据元素存在多对多的关系称为()。
以下冒泡法程序对存放在a[1],a[2],……,a[n]中的序列进行冒泡排序完成程序中的空格部分,其中n是元素个数,要求按升序排列。
数据结构中的数据元素存在多对多的关系称为()结构。
二叉树排序中任一棵子树都是二叉排序树。
设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为()。
A:top->data=x;
B:top=top->next;
C:x=top->data;
D:x=top->data;top=top->next;
利用n个值作为叶结点的权生成的哈夫曼树中共包含有()个结点。
A:n+1
B:2*n
C:n
D:2*n-1
在一棵二叉树中,若编号为i的结点存在左孩子,则左孩子的顺序编号为()。
A:2i
B:2i-1
C:2i+1
D:2i+2
设有一个整数序列d{40,28,6,72,100,3,54}依次取出序列中的数,构造一棵二叉排序树。并对上述二叉排序树,在等概率条件下,求成功查找的平均查找长度。
算法的5个特征为()、()、()、()、()。
设一棵哈夫曼树共有n个非叶结点,则该树一共有()个结点。
A:2*n-1
B:2*n+1
C:2*n
D:2*(n-1)
设一棵有n个叶结点的二叉树,除叶结点外每个结点度数都为2,则该树共有()个结点。
A:2n-1
B:2n+2
C:2n+1
D:2n
图的深度优先搜索和广度优先搜索序列不一定是唯一的。
以下程序是先序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,数据域data为字符型,BT指向根结点)。
哈希函数是记录关键字值与该记录()之间所构造的对应关系。
设top是一个链榜的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为()。
A:x=top->data;top=top->next;
B:top=top->next;x=top->data;
C:x=top->next;top=top->data;
D:top->next=top;x=top->data;
设有数据集合{40,29,7,73,101,4,55,2,81,92,39},依次取集合中各数据,构造一棵二叉排序树.
在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。
A:p->next=q->next
B:p=q->next
C:q->next=NULL
D:p->next=q
“一棵二叉树若它的根结点的值大于左子树所有结点的值,小于右子树所有结点的值,则该树一定是二叉排序树”。

第1题,共2个问题
(简答题)该说法是否正确,若认为正确,则回答正确,若认为不正确则说明理由?

第2题,共2个问题
(简答题)设有查找表{7,16,4,8,20,9,6,18,5},依次取表中数据构造一棵二叉排序树.对上述二叉树给出后序遍历的结果。
在一个链队中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算为()。
A:s->next=r;r=s;
B:r->next=s;r=s;
C:s->next=f;f=s;
D:f->next=s;f=s;
知10个数据元素为(54,28,16,34,73,62,95,60,26,43),对该数列从小到大排序,经过一趟冒泡排序后的序列为()。
A:16,28,34,54,73,62,60,26,43,95
B:28,16,34,54,62,60,73,26,43,95
C:28,16,34,54,62,73,60,26,43,95
D:16,28,34,54,62,60,73,26,43,95
串函数StrCat(a,b)的功能是进行串()。
A:比较
B:复制
C:赋值
D:连接
循环队列用a[0],...,a[7]的一维数组存放队列元素,(采用少用一个元素的模式),设front和rear分别为队头和队尾指针,且front和rear 的值分别为2和7,当前队列中的元素个数是()。
数据元素是数据的基本的单位,它()。
A:只能有一个数据项组成
B:至少有二个数据项组成
C:可以是一个数据项也可以由若干个数据项组成
D:至少有一个数据项为指针类型
采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为()。
A:(n-1)/2
B:(n+1)/2
C:n
D:n/2
在排序过程中,可以有效地减少一趟排序过程中元素间的比较次数的算法是()。
A:冒泡
B:选择
C:折半插入
D:直接插入