摘要:
算法思想:贪心算法 实际问题:单源最短路径 编程语言:Java ! More 问题描述 单源最短路径算法,又称 "迪杰斯特拉算法" 。其目的是寻找从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。 算法构造 相关解释 观测域:假设起点为v点,观测域便为v点 阅读全文
摘要:
算法思想:贪心算法 实际问题:活动安排问题 编写语言:Java ! More 问题描述 哈夫曼编码(Huffman Coding):又称霍夫曼编码,是由 Huffman 于1952年提出一种编码方法,是可变字长编码的一种。哈夫曼编码完全依据字符出现概率来构造异字头的平均长度 阅读全文
摘要:
算法思想:贪心算法 实际问题:活动安排问题 编写语言:Java ! More 问题描述 给定n种物品和一个背包,物品i的重量是wi,其价值是vi,背包的容量为C,问应该如何选择装入背包的物品,使得装入背包中物品的总价值最大。物品可以不装入,可以全部装入,也可以部分装入。 & 阅读全文
摘要:
算法思想:贪心算法 实际问题:活动安排问题 编写语言:Java ! More 问题描述 设有n个活动的集合 E = {1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动 i 都有一个要求使用该资源的起始时间 s 阅读全文
摘要:
思想描述 分治法是一种算法思想,其设计思想为:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,这些子问题相互独立且与原问题相同。从而达到各个击破,分而治之的目的。在实际应用中,分治法往往会和递归算法结合在一起。 <! More 递归的概念:直接或者间接地调用自身的算法称为递归算法,用函数自 阅读全文
摘要:
算法思想:分治法 实际问题:最大子段和 编写语言:Java <! More 问题描述 此篇博文是分治法解决最大子段和问题的实现。 问题描述:给定由n个整数(可能为负数)组成的序列A={a1, a2, ..., an},求该序列形如sum(A, i, j)的子段和的最大值。当所有整数均为负整数时,定义 阅读全文
摘要:
算法思想:分治法 实际问题:循环赛日程表 编写语言:Java <! More 问题描述 假设有 n = 2^k 个运动员进行循环赛,要根据以下限制生成一个日程表: 1. 每个选手必须与其他 n 1 个选手各赛一次 2. 每个选手一天只能赛一次 3. 循环赛一共进行 n 1 天 生成内容:n行,n 1 阅读全文
摘要:
算法思想:分治法 实际问题:线性时间选择 编写语言:Java <! More 问题描述 给定线性序集中 n 个元素和一个整数 k, 1 pivot) high ; if(low 阅读全文
摘要:
算法思想:分治法 实际问题:棋盘覆盖 编写语言:Java <! More 问题描述 在一个 2^k×2^k 个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且 阅读全文
摘要:
算法思想:分治法 实际问题:全排列问题 编写语言:Java <! More 问题描述 显示列表list(a, b, c, d......) 的全排列,显示的条目数为:n! 例如(1, 2, 3)的全排列为(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 阅读全文