随笔分类 - 算法
算法学习
摘要:排序算法 时间复杂度 空间复杂度 是否稳定排序 python代码 java代码 冒泡排序 O(n^2) O(1) 稳定 冒泡排序python 冒泡排序java 鸡尾酒排序 O(n^2) O(1) 稳定 鸡尾酒排序python 鸡尾酒排序java 选择排序 O(n^2) O(1) 不稳定 选择排序py
阅读全文
摘要:行和列的思想: from collections import namedtuple from pprint import pprint """ 动态规划算法 旅行行程最大化: 假设要去伦敦独家,假期是两天,但是想去的游览地点很多,你没发前往每一个地方游览,因此你需要列一个清单。 对于想起的名声景点
阅读全文
摘要:贪婪算法:每步都采取最优的做法,最终得到的就是全局最优解 """ 贪婪算法 覆盖所有的州,最小集合 方法: (1)选出一个广播,它覆盖了最多的未覆盖州,即便广播台覆盖了一些已经覆盖的州,也没有关系 (2)重复第一步,知道所有的州都被覆盖 """ states_needed = set(['mt',
阅读全文
摘要:迪克斯特拉 最小权重路径 示例1 """ 需要三个字段:流程图(各个节点),权重图(启点到各个节点),父节点(各个节点),是否处理过的一个数组 """ graph = {} graph['start'] = {} graph['start']['a'] = 6 graph['start']['b']
阅读全文
摘要:二分查找 对于一个有序的可迭代序列,查找一个元素时,每次都猜中间的那个数,这样一次可以排除掉一半的数据 Python版本 def main(ary, item): low = 0 high = len(ary) - 1 while low <= high: mid_index = (low+high
阅读全文