主题:[讨论]图论算法
1. 1) 输入无向图的各边所关联的顶点对,确定每个顶点度,以及图的最大度数和最小度数,求出这个图的补图
2) 输入有向图的各边所关联的顶点对,确定每个顶点的出度和入度,求出这个图的补图
2. 编写一个程序,要求于无向图和有向图都能做到:输入图的邻接矩阵和正整数n,求长度为n的链和圈
3. 模拟判断一个程序中是否存在递归的函数,若存在,如果消除递归?
4. 输入图的边,确定这是否为连通图,
1) 若不是连通图,则确定连通分图的个数,
2) 若是连通图,判断是否存在割边和割点,若存在各是什么
5. 输入一个多重图各边关联的顶点对,
1) 判断它是否存在欧拉圈,若存在,则求出一个欧拉圈
2) 若不存在,则判断是否存在一个欧拉链,若存在则求之
6. 输入一个简单图的边列表,
1) 确定是否存在哈密尔顿圈,若存在求该哈密尔顿圈;
2) 若不存在,判断是否存在哈密尔顿链,若存在则求之
7. 自选一个算法求货郎担问题
8. 给定带权连通简单图的边及权列表,输入图中两个顶点,求两点是否可达?若可达距离为多少?并输出这条最短的链
提示:可以使用Dijkstra算法——迪克斯屈拉算法)
9. 给定无向图的边列表,对该图进行着色,求着色数
10. 输入一个加权无向简单图的边及权列表,求最小生成树,以及这棵最小生成树的权
11. 输入一段文章,全部用小写字母,求各字母的哈夫曼编码
12. 要给n个人分配m个资源,输入每个人可以获得的资源情况,求最大匹配,
要求所有资源在满足尽可能多的人获得的情况下,全部分配出去
2) 输入有向图的各边所关联的顶点对,确定每个顶点的出度和入度,求出这个图的补图
2. 编写一个程序,要求于无向图和有向图都能做到:输入图的邻接矩阵和正整数n,求长度为n的链和圈
3. 模拟判断一个程序中是否存在递归的函数,若存在,如果消除递归?
4. 输入图的边,确定这是否为连通图,
1) 若不是连通图,则确定连通分图的个数,
2) 若是连通图,判断是否存在割边和割点,若存在各是什么
5. 输入一个多重图各边关联的顶点对,
1) 判断它是否存在欧拉圈,若存在,则求出一个欧拉圈
2) 若不存在,则判断是否存在一个欧拉链,若存在则求之
6. 输入一个简单图的边列表,
1) 确定是否存在哈密尔顿圈,若存在求该哈密尔顿圈;
2) 若不存在,判断是否存在哈密尔顿链,若存在则求之
7. 自选一个算法求货郎担问题
8. 给定带权连通简单图的边及权列表,输入图中两个顶点,求两点是否可达?若可达距离为多少?并输出这条最短的链
提示:可以使用Dijkstra算法——迪克斯屈拉算法)
9. 给定无向图的边列表,对该图进行着色,求着色数
10. 输入一个加权无向简单图的边及权列表,求最小生成树,以及这棵最小生成树的权
11. 输入一段文章,全部用小写字母,求各字母的哈夫曼编码
12. 要给n个人分配m个资源,输入每个人可以获得的资源情况,求最大匹配,
要求所有资源在满足尽可能多的人获得的情况下,全部分配出去