文章分类 -  算法

摘要:快速排序 快排思路 取一个元素p(第一个元素),使元素p归位; 列表被p分成两部分,左边都比p小,右边都比p大; 递归完成排序。 代码示例 阅读全文
posted @ 2018-07-17 13:09 争-渡 阅读(110) 评论(0) 推荐(0)
摘要:冒泡排序 思路 首先,列表每两个相邻的数,如果前边的比后边的大,那么交换这两个数…… 时间复杂度 代码示例 选择排序 思路 一趟遍历记录最小的数,放到第一个位置; 再一趟遍历记录剩余列表中最小的数,继续放置; …… 时间复杂度 代码示例 插入排序 思路 列表被分为有序区和无序区两个部分。最初有序区只 阅读全文
posted @ 2018-07-17 11:30 争-渡 阅读(126) 评论(0) 推荐(0)
摘要:使用二分查找法的前置条件 必须是一个已经排好序的数组 二分查找定义 从有序列表的候选区data[0:n]开始,通过对待查找的值与候选区中间值的比较,可以使候选区减少一半。 示例图 循环版二分查找法 递归版二分查找法 阅读全文
posted @ 2018-07-16 21:37 争-渡 阅读(161) 评论(0) 推荐(0)
摘要:汉诺塔问题 由来: 大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。 大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。 在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 64根柱子移动完毕之日,就是世界毁灭之时。 问题解析: 阅读全文
posted @ 2018-07-16 20:42 争-渡 阅读(173) 评论(0) 推荐(0)