随笔分类 -  数据结构算法

摘要:排序算法之快速排序 1.快速排序介绍 快速排序在几种常用的O(N logN)时间复杂度的排序方法中效率较高,而且核心思想也是 分治法 。 该方法的基本思想是: 1.先从数列中取出一个数作为基准数(一般有取第一个/随机取)。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边 阅读全文
posted @ 2018-04-11 14:20 那一抹风 阅读(1552) 评论(0) 推荐(0)
摘要:排序算法之归并排序 1.归并排序介绍 归并排序的核心思想是 分治法 ,是建立在归并操作上的一种有效的排序算法。通过 递归的对半拆分 成最小单元(一个元素),然后通过 回溯的比较合并 ,构成整个 归并 的排序。 分治法 :将原问题分解为一些规模较小的相似子问题,然后递归解决这些子问题,最后合并其结果作 阅读全文
posted @ 2018-04-11 09:59 那一抹风 阅读(368) 评论(0) 推荐(0)
摘要:排序算法之选择排序 1.选择排序介绍 选择排序分为三种,直接选择排序、树形选择排序、堆排序。直接选择排序和堆排序是不稳定排序,树形选择排序是稳定排序。在这里介绍的是直接选择排序。其他的后面再分析。 直接选择排序 算法思想:第一趟从n个元素的数据序列中选出关键字最小/大的元素并放在最前/后位置,下一趟 阅读全文
posted @ 2018-04-09 23:43 那一抹风 阅读(415) 评论(0) 推荐(0)
摘要:排序算法之插入排序 1.插入排序介绍 工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 插入排序是基于比较的排序。这类排序,有两种基本的操作:①比较操作; ②交换操作 ①比较操作:元素之前的大小比较 ②交换操作:一般的交换操作需要三次赋值,但可以优化为移动 阅读全文
posted @ 2018-04-09 23:43 那一抹风 阅读(599) 评论(0) 推荐(0)