问答题下面给出一个排序算法,数组a[]是存放待排序数据元素的数组,n是数组大小,数据元素的数据类型是DataType。
void unknow(DataType a[],int n){
int high=n-1,i,j;DataType w;
while(high>0){
j=0;
for(i=0;i<high;i++)
if(a[i]>a[i+1]){
w=a[i];a[i]=a[i+1];a[i+1]=w;
j=i;
}
high=j;
}
}
问答题高度为K的完全二叉树至少有——个叶子结点。【合肥工业大学1999二、6(2分)】
问答题采用链接表存储结构,编写一个判别无向图中任意给定的两个顶点之间是否存在一条长度为k的简单路径算法。【中国海洋大学2005九(18分)】
问答题区分循环队列的满与空,只有两种方法,它们是__________和__________。【北京邮电大学200l二、2(4分)】
问答题假设二叉树T中至多有一个结点的数据域值为x,试设计一个算法拆开以该结点为根的子树,使原二叉树分成两棵二叉树。
问答题设一个双端队列,元素进入该队列的次序为a,b,c,d。求既不能由输入受限的双端队列得到,又不能由输出受限的双端队列得到的输出序列。【中山大学1999一、4(3分)】
问答题设m×n阶稀疏矩阵A有t个非零元素,其三元组表表示为LTMA[t+1),1..3],试问:非零元素的个数t达到什么程度时用LTMA表示A才有意义?【北京航空航天大学1998一、5(4分)】
问答题试将下列递归过程改写为非递归过程。【北京轻工业学院2000年】void test(int &sum) { int x; scanf(”%d,x); 1t(x=0) sum=0; else{ test(sum); Sum+=X; } printf(“%d”,sum); }
问答题计算起始二进制地址为011011110000,长度为4(十进制)的块的伙伴地址是多少?【中山大学1999一、2(3分)】
问答题已知二叉树以二又链表存储,编写算法完成:对于树中每一个元素值为x的结点,删去以它为根的子树,并释放相应的空间。【北京工商大学1998二(14分)】
问答题执行顺序查找时,储存方式可以是(1),二分法查找时,要求线性表(2),分块查找时要求线性表(3),而散列表的查找,要求线性表的存储方式是(4)。【山东大学1998一、1(3分)】
问答题如果有一个时间复杂性为O(n
2
)的算法(如冒泡排序、选择排序或插入排序等),在有200个元素的数组上运行需要时3.1毫秒,试问在下列类似的数组上运行大约需要多长时间?
问答题试用关键字序列(33,10,45,20,53,43,31,15,65,40),构造哈希(Hash)表,设哈希函数为:H(key)=key%11,其中key为关键字,%为求余运算符;用开放定址法处理冲突,用线性探测再散列法查找空位,用长度为14的数据元素组A[14]表示哈希表。(1)画出该哈希表的存储结构图;(2)假定每个元素的查找概率相等,计算查找成功时的ASL;(3)计算查找不成功时的ASL。【华中科技大学2007四、25(10分)】
问答题两个整数序列A=a
1
,a
2
,a
3
,…,a
n
和B=b
1
,b
2
,b
3
,…,b
n
已经存入两个单链表中,设计一个算法,判断序列B是否是序列A的子序列。【东北大学1999年】
问答题设有一个带表头结点的链表,结点的结构为(data,link,sort),其中data为整型值域,link和sort都是指针域。已知链表所有结点都已通过link域指针链接起来,构成单链表,且所有结点数据的值互不相同。试编写一个算法,利用sort域把所有结点按照数据的值从小到大的顺序链接起来。
问答题如何衡量Hash函数的优劣?简要叙述Hash表技术中的冲突概念,并指出三种解决冲突的方法。【南京航空航天大学1996九、2(6分)】
问答题给定8个权值集合(2,5,3,10,4,7,9,18),画出含有8个叶子结点的最佳三叉归并树,并计算出wpl为多少?【东北大学1996一、2(5分)】
问答题编写一个过程,对一个n×n矩阵,通过行变换,使其每行元素的平均值按递增顺序排列。【中科院软件所1996】
问答题设有广义表A=(c,(a,b)),(x,(a,b),y)),则运算head(taead(tail(A)))的结果是__________。【东南大学2005数据结构部分二、4(1分)】
问答题模式匹配算法是在主串中快速寻找模式的一种有效的方法,如果设主串的长度为m,模式的长度为n,则在主串中寻找模式的KMP算法的时间复杂性是多少?如果某一模式’P=-"abcaacabaca",请给出它的NEXT。函数值及NEXT函数的修正值NEXTVAL之值。【上海交通大学2000一(5分)】