数据科学家成长之旅

关注 机器学习,深度学习,自然语言处理,数学

2017年3月4日 #

查找算法(1)——二分查找

摘要: ```python __author__ = 'steven' list = [1, 3, 6, 7, 9, 13, 15, 26, 33, 45] def bin_search(num, list): lenth = len(list) start = 0 end = lenth -1 middle = int(( start + end) / 2) ... 阅读全文

posted @ 2017-03-04 20:23 会飞的蝸牛 阅读(316) 评论(0) 推荐(0) 编辑

排序算法复杂度总结

摘要: ![](http://ogex32jwc.bkt.clouddn.com/sort_algorithm.jpg) 阅读全文

posted @ 2017-03-04 20:22 会飞的蝸牛 阅读(175) 评论(0) 推荐(0) 编辑

排序算法(8)——基数排序

摘要: ```python __author__ = 'steven' # coding=utf-8 '''基数排序: 原理类似桶排序,这里总是需要10个桶,多次使用. 首先以个位数的值进行装桶,即个位数为1则放入1号桶,为9则放入9号桶,暂时忽视十位数 例如,待排序数组[62,14,59,88,16] 分配10个桶,桶编号为0-9,以个位数数字为桶编号依次入桶,变成下边这样 | 0 | 0 | 62 ... 阅读全文

posted @ 2017-03-04 20:08 会飞的蝸牛 阅读(176) 评论(0) 推荐(0) 编辑

排序算法(7)——堆排序

摘要: ```python __author__ = 'steven' # coding=utf-8 '''堆排序: 堆的概念: 若以一维数组存储一个堆,则堆对应一棵完全二叉树,且所有非叶结点的值 均不大于(或不小于)其子女的值,根结点(堆顶元素)的值是最小(或最大)的. 堆排序的过程: 1.初始时把要排序的n个数的序列看作是一棵顺序存储的二叉树(一维数组存储二叉树), ... 阅读全文

posted @ 2017-03-04 19:59 会飞的蝸牛 阅读(247) 评论(0) 推荐(0) 编辑

排序算法(6)——快速排序

摘要: ```python __author__ = 'steven' coding=utf 8 '''快速排序 它采用了一种分治的策略,通常称其为分治法(Divide and ConquerMethod)。 该方法的基本思想是: 1. 从数列中挑出一个元素,称为 “基准”(pivot). 2. 分区操作( 阅读全文

posted @ 2017-03-04 19:58 会飞的蝸牛 阅读(204) 评论(0) 推荐(0) 编辑

排序算法(5)——归并排序

摘要: ```python __author__ = 'steven' coding=utf 8 '''归并排序 归并排序(Merge sort,台湾译作:合并排序)是建立在归并操作上的一种有效的排序算法。 该算法是采用分治法(Divide and Conquer)的一个非常典型的应用 步骤: 1.申请空间 阅读全文

posted @ 2017-03-04 19:58 会飞的蝸牛 阅读(397) 评论(0) 推荐(0) 编辑

排序算法(4)——希尔排序

摘要: ```python __author__ = 'steven' # coding=utf-8 '''希尔排序 希尔排序的实质就是分组插入排序,该方法又称*缩小增量(step)排序*,因DL.Shell于1959年提出而得名。 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 1.插入... 阅读全文

posted @ 2017-03-04 19:57 会飞的蝸牛 阅读(233) 评论(0) 推荐(0) 编辑

排序算法(3)——插入排序

摘要: ```python __author__ = 'steven' coding=utf 8 '''插入排序(Insertion Sort) 它的工作原理是通过构建有序序列,对于未排序数据, 在已排序序列中从后向前扫描,找到相应位置并插入。 步骤: 1.从第一个元素开始,该元素可以认为已经被排序 2.取 阅读全文

posted @ 2017-03-04 19:56 会飞的蝸牛 阅读(167) 评论(0) 推荐(0) 编辑

排序算法(2)——选择排序

摘要: ```python __author__ = 'steven' coding=utf 8 '''注意:“交换”是个比较耗时的操作!''' '''选择排序 选择排序相比冒泡,大大减少了元素的交换次数. 其实我们很容易发现,在还未完全确定当前最小元素之前,这些交换都是无意义的。 我们可以通过设置一个变量 阅读全文

posted @ 2017-03-04 19:52 会飞的蝸牛 阅读(186) 评论(0) 推荐(0) 编辑

排序算法(1)——冒泡排序

摘要: ```python __author__ = 'steven' coding=utf 8 '''冒泡排序 排序过程: 沉淀法(比大,大的下沉):(visualgo上面的动态图就是沉淀法) 第 1 次从 头 开始比较前后两个数字的大小,最大的数沉淀在第 n 位置,比较n 1次; 第 2 次从 头 开始 阅读全文

posted @ 2017-03-04 19:49 会飞的蝸牛 阅读(407) 评论(0) 推荐(0) 编辑

导航