1、算法设计与分析试题一、概念题1队列 2 完全二叉树 3堆 4P 类问题 5.NP 问题二、程序填空题1宽度优先图周游算法procedure bft(g,n)g 的宽度优先周游declare visited(n)for i1 to n do 将所有结点标记为未访问 repeatfor i-1 to n do 反复调用 bfsif visited(i)0 then endifrepeat end bft2找一个图的所有 m着色方案 procedure mcoloring(k)这是图着色的一个递归回溯算法。图 g 用它的布尔邻接矩阵 graPh(1:n,1:n)表示。它计算并打印出符合以下要求的全部
2、解,把整数 1,2,m 分配给图中各个结点且使相邻近的结点的有不同的整数。k 是下一个要着色结点的下标。global integer m,n,x(1:n)boolean graPh(1;n,1:n)integer kloop 产生对 x(k)所有的合法赋值。call nextvalue(k)。/将一种合法的颜色分配给 x(k)if then exit endif 没有可用的颜色了 if then print(x) 至多用了 m 种颜色分配给 n 个结点 else call mcoloringk+1) 所有 m着色方案均在此反复递归调用中产生endifrepeatend mcoloring三、问答题1.二分查找的思想是什么?2请用递归方法写出归并排序法的主要思想和算法。 3.已知如下多段图,请用动态规划方法的向后处理法写出求解此问题的递推公式并完成对各结点的计算。123456789102972415634tsVV4. 最小自然数:求具有下列两个性质的最小自然数 n:()n 的个位数是;()若将 n 的个位数移到其余各位数字之前,所得的新数是 n 的倍。提示:仍用穷举法寻找,当找到一个符合条件者便停止。 “找到便停止”的重复,宜采用repeatuntil 循环。5. 以二叉链表为存储结构,分别写出求二叉树结点总数及叶子总数的算法。