算法
文章平均质量分 72
booyoungxu
这个作者很懒,什么都没留下…
展开
-
Algorithm introduction
基本的算法技巧分治(Divide-and-conquer):首先从一个smallest问题出发,观察原始问题是否能分解成smaller子问题。智能枚举(“Intelligent” Enumeration):考虑一个最优化问题,如果它的解能够被一步一步的构造出来,可以通过构造一棵partial solution tree枚举所有可能的complete solution。由于搜索树太大,需要剪枝。原创 2017-11-14 16:16:48 · 304 阅读 · 0 评论 -
Divide-and-Conquer
分治通常是用来降低用暴力解法已经能达到多项式时间复杂度的时间复杂度,结合randomization technique是powerful。 - Divide a problem into a number of independent sub-problems - Conquer the subproblems by solving them recursively; - Combine原创 2017-11-15 15:17:46 · 1742 阅读 · 0 评论 -
Greedy technique
利用贪心规则进行得到子问题的最优解,通过多步决策得到原问题的最优解。IntervalScheduling problem当每门课权重不为1时:DP 当每一步的决策是从已按照结束时间排好序的课程序列里选择或者不选择最后一门课时,时间复杂度是O(nlogn)O(nlogn) 假设optimal solution中一定包含某门课程,则optimal solution是选择某门课原创 2017-11-16 16:33:48 · 417 阅读 · 0 评论