摘要:
冒泡排序 冒泡排序需要对一个列表进行多次重复性遍历,他要比较相邻的两项,并且交换排错的项,每对列表进行一次遍历,就有一个最大的项排在正确的位置 此时的冒泡排序需要在最终位置找到之前不断交换数据项,因此也被认为是最低效的排序方法, 改良版的冒泡排序,循环过程中发现没有交换,我们就可以断定列表已经排好, 阅读全文
摘要:
排序与搜索 搜索的算法过程就是在一些项的集合中找到一个特定的项,搜索过程中会根据此项是否存在来给出回答True 或者False. 顺序搜索 从列表的第一项开始,我们按照初始顺序从一项移动到下一项,直到我们遍历所有的数据项。 一个无序列表顺序搜索的复杂度是O(n) 如果我们假设一个列表是按递增顺序构建 阅读全文
摘要:
动态规划 动态规划是用来求最优解问题的解决策略之一 一个最典型例子 :用最少的硬币找零 比如:一美元购买37美分商品,用来找零的硬币最小数量是多少(一般有1,5,10和25美分的硬币) 首先我们使用最大面值的硬币(25美分),也是尽可能多的使用,接着再使用下一个面值最大的这种方法被称为贪心算法 但如 阅读全文