随笔分类 -  数据结构与算法

动态规划与贪心算法
摘要:最优子结构:如果一个问题的最优解包含其子问题的最优解,则称该问题有最优子结构性质。是否具有最优子结构性质是使用动态规划与贪心算法的前提。 动态规划(状态转移方程) 要素:最优子结构、子问题重叠 方法: 1、自底向上:通过恰当定义子问题的规模,使得子问题的求解只依赖于更小问题的求解。因而可以将子问题按 阅读全文

posted @ 2017-06-14 15:05 kiplove 阅读(441) 评论(0) 推荐(0)

单源最短路径
摘要:一、Dijkstra算法 Dijkstra算法是解决带权重的有向图最短路径问题,要求所有边权重为非负值。 以下是算法导论上给出的伪码,采用了是贪心策略实现的,总是寻找集合V-S(S集合是加入)中最近的节点加入到S集合中,算法时间复杂度依赖于最小优先队列的实现方式。 下面是C++的实现,时间复杂度是O 阅读全文

posted @ 2017-06-04 21:10 kiplove 阅读(3608) 评论(0) 推荐(0)

栈的总结
摘要:一、中缀表达式与后缀表达式 中缀表达式转后缀表达式: 例如:9+(3-1)*3+10/2转化为9 3 1-3 * + 10 2 / + 从左到右,遇到操作数就输出,遇到操作符,遇到左括号直接入栈,否则先判断与栈顶元素的优先级,是右括号或者低于或等于栈顶符号的优先级栈顶元素就出栈,并将当前元素进栈,直 阅读全文

posted @ 2017-04-05 22:32 kiplove 阅读(491) 评论(0) 推荐(0)

导航