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