Python算法

Python-二分法查找

拼命三郎 发布于 2016-12-19

文章目录 [ 隐藏 ] 二分法查找的思路代码实现 二分法查找的思路 假设数据是按升序排序的,对于给定值 x,从序列的中间位置开始比较,如果当前位置值等于 x,则查找成功;若 x 小于当前位置值,则在数列的前半段中查找;若 x 大于当前位置值则在数列的后半段中继续查找,直到找到为止...

阅读(443)评论(0)赞 (0)

Python-桶排序

拼命三郎 发布于 2016-11-03

Python桶排序是一种效率很高的排序算法,它的时间复杂度为O(n),但桶排序有一定的限制,只有当待排序序列的元素为0到某一确定取值范围的整数时才适用,典型的例子比如成绩的排序等。

阅读(1157)评论(0)赞 (0)

python-希尔排序

拼命三郎 发布于 2016-10-19

文章目录 [ 隐藏 ] 希尔排序算法的思路代码实现 希尔排序算法的思路 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法由DL.Shell于1959年提出而得名。 希尔排序把记录按下标的...

阅读(343)评论(0)赞 (0)

Python-选择排序

拼命三郎 发布于 2016-10-17

选择排序的思路:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,放在已排好序的数列的最后,直到全部待排序的数据元素排完。

阅读(431)评论(2)赞 (0)

Python-快速排序

拼命三郎 发布于 2016-10-15

文章目录 [ 隐藏 ] 快速排序算法思路代码实现 快速排序算法思路 快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递...

阅读(402)评论(2)赞 (0)

Python-归并排序

拼命三郎 发布于 2016-10-13

文章目录 [ 隐藏 ] 归并排序算法思路算法实现 归并排序算法思路 归并排序主要思想是分治法(divide and conquer),就是要将n个元素的序列划分为两个序列,再将两个序列划分为4个序列, 直到每个序列只有一个元素,最后,再将两个有序序列归并成一个有序的序列。 两个序...

阅读(348)评论(0)赞 (0)

Python-插入排序

拼命三郎 发布于 2016-10-11

文章目录 [ 隐藏 ] 插入排序算法思路算法实现 插入排序算法思路 插入排序就是每一步都将一个待排数据插入到已经排序的数据中的适当位置,直到全部数据插入完毕。 算法实现 [crayon-5b0b8b0df3f9c571594835/] 运行结果 [crayon-5b0b8b0df...

阅读(293)评论(0)赞 (0)

Python-冒泡排序

拼命三郎 发布于 2016-10-10

文章目录 [ 隐藏 ] 冒泡排序算法思路算法实现 冒泡排序算法思路 冒泡排序就是把列表元素比喻成气泡,气泡每次从下面往上面滚。 下面的元素和上面的元素做比较,小元素交换到前面。 第一轮循环把最小的元素上浮至第一个位置,第二轮把小的元素上浮至第二个位置,依次类推。 算法实现 [cr...

阅读(445)评论(0)赞 (0)

Python-汉诺塔问题

1

拼命三郎 发布于 2016-09-29

通过python递归算法实现汉诺塔(又称河内塔)。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘

阅读(455)评论(0)赞 (0)