实验一Prim算法.doc 我采用的是邻接矩阵的方式存储无向图信息,Prim算法生成最小生成树时,需要套用两个for循环,第一层循环是来寻找n-2条边,第二层循环是为了更新接下来未遍历到的点的权值信息。因此Prim算法的时间复杂度是O(n^2)。
实验六寻找第k小的元素.doc 分治策略是对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。
实验二Dijkstra.doc 在一给定的无向图G 中,(u, v) 代表连接顶点 u 与顶点 v 的边(即),而 w(u, v) 代表此边的权重,若存在 T 为 E 的子集(即)且为无循环图,使得的 w(T) 最小,则此 T 为 G 的最小生成树。
实验二floyd.doc 求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。确定起点终点的最短路径问题 - 即已知起点和终点,求两结点之间的最短路径。全局最短路径问题 - 求图中所有的最短路径。
实验五Tromino.doc Tromino是指一个由棋盘上的三个方块组成的L型骨牌。如何用Tromino覆盖一个缺少了一个方块(可以在棋盘上任何位置)2n × 2n的棋盘(下图展示了情况)。除了这个缺失的方块,Tromino应该覆盖棋盘上的所有方块,Tromino可以任意转向但不能有重叠。