数据结构与算法
文章平均质量分 76
Panstar_
爱学习爱劳动
展开
-
排序算法(一)选择排序和冒泡排序
1. 选择排序:选择排序是一种很简单直观的排序方法,就是在未排序的数据中挑选出最大或者最小的元素,存放到已排序数据的末尾。简单的讲,就是每次都把最大或者最小的数据挑选出来,然后依次组成新的序列。假设有数据{1,4,6,8,3,4,0,2,14},要按照从大到小进行排序那么我们在第一次循环中,从第一个数据‘1’开始比较,最后挑选出最大‘14’,放到数组的第一个索引处,在第二次循环中,...原创 2018-08-18 03:34:37 · 833 阅读 · 0 评论 -
排序算法(二)快速排序和归并排序
之所以把归并排序和快速排序放一起,是因为这两种方法其实很类似,两者都是讲数列细分到0或1个单位,但是快排在细分的过程中会将排序做好,而归并排序是先执行细分这个过程,然后把细分的数据有序合并,过程比快排稍微繁琐一点3.快速排序快速排序是通过一趟排序将待排数列分隔成独立的两部分,其中一部分记录的新序列比另一份小,则可分别对这两部分继续进行排序,最后整个数列就是有序的。步骤:1. ...原创 2018-08-22 03:12:25 · 488 阅读 · 0 评论 -
排序算法(三)—— 桶排序和计数排序
桶排序、计数排序时间复杂度是线性的O(n),因而也叫线性排序,这两个算法是基于非比较的排序算法,不涉及元素之间的比较。1. 桶排序(Bucket sort)桶排序的核心思想是把要排序的数据分组放到桶里,然后再把每个桶里的数据单独进行排序,之后把数据取出,组成的序列就是有序的了。主要应用于处理数值分布比较均匀但是数据量很大的场景。相对来说,我们一般使用的排序算法的时间复杂度在nlog(n)到...原创 2018-11-03 04:08:36 · 974 阅读 · 1 评论