已选分类
工学
问答题假设串的存储结构如下(略),编写算法实现串的置换操作。【清华大学1995五(15分)】
问答题设计算法将一棵以二叉链表存储的二叉树按顺序方式存储到一维数组中。(注:按层由上到下,由左到右)【东南大学2005数据结构部分四(15分)】
问答题设有一个n×n的对称矩阵A。为了节约存储,可以只存对角线及对角线以上的元素,或者只存对角线或对角线以下的元素。前者称为上三角矩阵,后者称为下三角矩阵。把它们按行存放于一个一维数组B中,并称之为对称矩阵A的压缩存储方式。试问:
问答题给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的mj表示这条道路的长度,现在要从这n个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短?试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。【中国矿业大学2000十五(15分)】
问答题在二叉排序树的结构中,有些数据元素值可能是相同的,设计一个算法实现按递增有序打印结点的数据域,要求相同的数据元素仅输出一个,算法还应能报出最后被滤掉而未输出的数据元素个数,对如图所示的二叉排序树,输出为:10,12,13,15,18,21,27,35,42。滤掉3个元素。【北京工业大学1995六(18分)】
问答题设有向无环图G以邻接矩阵方式存储,编写程序,求G图中最长的路径长度,并写出算法思想。【南京航空航天大学2005八(10分)】
问答题设整数x
1
,x
2
,…,x
n
已存放在数组A中,编写一Pascal递归过程,输出从这n个数中取出所有k个数的所有组合(k≤n)。例:若A中存放的数是1,2,3,4,5,k为3,则输出结果应为:543,542,541,532,531,52l,432,431,421,321。【东南大学2001三(10分)】
问答题对于二维数组A[m][n],其中m≤80,n≤80,先读入m和n,然后读该数组的全部元素,对如下三种情况分别编写相应函数:
(1)求数组A靠边元素之和;
(2)求从A[0][0]开始的互不相邻的各元素之和;
(3)当m=n时,分别求两条对角线上的元素之和,否则打印出m≠n的信息。
问答题具有10个顶点的无向图,边的总数最多为__________。【华中理工大学2000一、7(1分)】
问答题设a=6,b=4,c=2,d=3,e=2,则后缀表达式abc一/de*+的值为__________。【南京邮电学院2004二、1(5分)】
问答题一个算法所需时间由下述递归方程表示,试求出该算法的时间复杂性的级别(或阶)。(以大O形式表示。)其中:n是问题的规模,为简单起见,设n是2的整数幂。【上海交通大学1996四(8分)】
问答题下列算法为奇偶交换排序,思路如下:第一趟对所有奇数的i,将a[i]和a[i+1]进行比较,第二趟对所有偶数的i,将a[f]和a[i+1]进行比较,每次比较时若a[i]>a[f+1],将二者交换;以后重复上述二趟过程,直至整个数组有序。
void oesort(int a[n])
(int flag,i,t;
do{flag=0;
for(i=l; ia[i+1])
{flag=(1);t=a[i+1];a[i+1]=a[i];(2);)
for (3)
if(a[i]>a[i+1])
{flag=(4);t=a[i+1];a[i+1];a[i],a[i]=t ;}
)while (5) ;
}
【上海大学2000一、1(10分)】
问答题当两个栈共享一存储区时,栈利用一维数组stack(1,n)表示,两栈顶指针为top[1]与top【2】,则当栈1空时,top[1]为__________,栈2空时,top[2]为__________,栈满时为__________。【南京理工大学1997三、1(3分)】
问答题已知二叉查找树采用链式存储结构,结点结构为(1ch,data,rch),若令root指向二叉查找树的树根,P指向树中的某个非叶子结点,请编写算法删除p所指结点并保持该树为二叉查找树。 void deletep(BSTree&root,BSTree p) {/*在root指向的二叉查找树中删除结点非叶子结点p*/ if(p一>ich){s=p->ich;pre=p; while ( (1) ) { (2) ;s=s一>rch;) P一>data=s一>data; if(pre==p) (3) ; else (4) } else{s=p一>rch:pre=p: while( (5) ) ( (6) ;S=S一>Ich;) P一>data=s一>data; if(pre==p) (7) ;else (8) ; } free(S); }/*deletep*/ 【西安电子科技大学2004二、2(8分)】
问答题设给定关键字输入序列为(100,90,120,60,78,35,42,31,15)用散列法散列0~10的地址区间。要求设计一合理的散列函数;冲突时用链表法解决,写出散列算法,并构造出散列表,在等概率查找情况下查找成功的平均查找长度是多少?【东北大学1996四(12分)】
问答题设计一Pascal或C语言的函数atoi(X),其中X为字符串,由0~9十个数字符和表示正负数的""组成,返回值为整型数值。 【浙江大学1994二(7分)】
问答题用C语言描述树的孩子兄弟链表结构,并编写递归程序求树中叶子结点数。【北京交通大学2004八(10分)】
问答题请说明是否存在这样的二叉树,即它可以实现后序线索树进行后序遍历时不使用栈;而对前序线索树进行前序遍历时,又有什么样的二叉树可不使用栈。【西安电子科技大学1996二、l(5分)】
问答题编程:假设以数组Q[m]存放循环队列中的元素,同时以rear和length分别指示环形队列中的队尾位置和队列中所含元素的个数。试给出该循环队列的队空条件和队满条件,并写 出相应的初始化(initqueue)、插入(enqueue)和删除(dlqueue)元素的操作。【天津大学2002一、5(10分)】
问答题已知二叉树的链表存储结构定义如下:TYPE bitreptr=^bitrenode;bitrenode:record data:char; 1chi ld, rchi 1d:bitrept.r END;编写一个递归算法,利用叶结点中空的右链指针域rchild,将所有叶结点自左至右链接成一个单链表,算法返回最左叶结点的地址(链头)。【清华大学1997三(10分)】
