- 博客(10)
- 收藏
- 关注
转载 计数排序算法(Python 实现)
概念计数排序算法(Counting Sort)基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。过程找出待排序的数组中最大和最小的元素;统计数组中每个值为i的元素出现的次数,存...
2018-11-21 19:17:00
189
转载 希尔排序(Python 实现)
概念希尔排序是对插入排序的优化,希尔排序他思路就是先通过把原无序数列,切分成无数个小的无序子数列进行插入排序,当数列呈现“基本有序”的时候,再对全数列进行插入排序。过程选择一个增量序列t1,t2,…,tk,其中ti>tj,tk=1;按增量序列个数k,对序列进行k 趟排序;每趟...
2018-11-21 16:40:00
140
转载 选择排序算法(Python 实现)
概念选择算法也是一种比较简单,他是每次找到一个无序序列的最小值,放在最左侧,然后再从剩余的数中再找出最小的,放在当前的的最左侧,直到排序结束。Codedef select_sort(l): for i in range(0, len(l) - 1): min = ...
2018-11-20 17:24:00
146
转载 插入排序(Python 实现)
概念插入排序(Insertion Sort)是一种比较直观、简单的排序算法,它的原理就是构建一个有序序列,然后把无序序列中的数和有序数列中的数依次比较,最终得到一个有序序列。步骤从第一个元素开始,该元素可以认为已经被排序;取出下一个元素,在已经排序的元素序列中从后向前扫描;如果该元...
2018-11-20 16:58:00
374
转载 堆排序(Python 实现)
须知如果想了解堆排序算法,必须知道先了解二叉树和完全二叉树然后,我们再了解一下,什么是堆?堆是是顺序存储的完全二叉树。其中每个节点的值都不大于其孩子节点的值,这样的堆称为小根堆。其中每个节点的值都不大于其孩子节点的值,这样的堆称为大根堆。下图是小根堆的逻辑结构是存储结构过程...
2018-11-20 15:36:00
175
转载 并归排序算法(Python 实现)
概念归并排序是利用归并的思想实现的排序方法,该算法采用了经典的分治(divide-and-conquer)策略(分治法讲问题分成一些小的问题然后递归求解,而治的阶段则讲分的阶段的答案合并到一起,即分而治之)。过程codedef merge(left, right): re...
2018-11-19 22:25:00
129
转载 快速排序算法(Python 实现)
概述快排算法顾名思义就知道他是一个非常快速的排序算法,他其实是基于冒泡排序和分治思想而实现的。快排中有一个比较重要的数叫基准数,这个基准数是为了创造出一个轴,而这个轴的左侧所有的数据都比这个数小,轴的右侧都比这个数大。进而再根据轴把原数据集分为两个子数据集,我们再对这两个数据集再进行创造基...
2018-11-17 21:15:00
142
转载 倒排链表(Python 实现)
概念链表结构,由多个Node组成,具有特定的顺序,并可快速插入和删除的数据结构。(自己描述的)定义Nodeclass Node: def __init__(self, data, pn=None): self._data = data self._...
2018-11-16 23:04:00
530
转载 冒泡排序法(Python 实现)
Codedef bubble_sort(data_set): for i in range(len(data_set)): for j in range(len(data_set) - i - 1): if data_set[j] > d...
2018-11-16 14:45:00
86
转载 二分查找法(Python 实现)
Code循环方式def binary_search_cycle(data_set, value): start = 0 end = len(data_set) - 1 while True: mid_idx = (start + end) / ...
2018-11-16 14:36:00
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人