你可能喜欢
问答题
已知带头结点的单链表中的关键字为整数,为提高查找效率,需将它改建为采用拉链法处理冲突的散列表。设散列表的长度为m,散列函数为Hash(key)=key%m。链表的结点结构为: 。请在空缺处填入适当内容,使其成为一个完整算法。
(1)NULL
(2)p->next=h[j]
(3)p=q
问答题
阅读下列算法并回答问题:
(-8,-3,-2,-1,7,2,5,4)
问答题
写出以下递归算法的功能:
int Unknow( BiTree t){
if(t= =NULL) return 0;
else return 1+ Unknow(t->leftchild)+ Unknow(t->rightchild);
}
问答题
以下函数中,h是带头结点的双向循环链表的头指针。
(1)说明程序的功能;
(2)当链表中结点数分别为1和6(不包括头结点)时,请写出程序中while循环体的执行次数。
(1)检测双向链表数据域值是否对称;
(2)结点数为1时执行0次,结点数为6时执行3次。
问答题
假设有向图采用邻接表表示法,其定义如下:
(1)阅读算法f4,并在空缺处填入合适的内容,使其成为一个完整的算法;
(2)对于如图所示的邻接表,将执行算法f4后的topo[ ]结果填入给定的数组中。
问答题
已知稀疏矩阵采用带行表的三元组表表示,其形式说明如下:
下列算法f3的功能是,以行优先的顺序输入稀疏矩阵的非零元(行号、列号、元素值),建立稀疏矩阵的带行表的三元组表存储结构。请在空缺处填入合适内容,使其成为一个完整的算法。(注:矩阵的行、列下标均从1起计)
问答题
如果希望循环队列中的向量单元都能得到利用,则可设置一个标志域tag,每当尾指针和头指针值相同时,以tag的值为0或1来区分队列状态是“空”还是“满”。请对下列函数填空,使其分别实现与此结构相应的入队列和出队列的算法。