算法
文章平均质量分 89
夏目 "
一个对coding有独特追求的人。
展开
-
常用排序算法总结(1)-- 比较排序
我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。排序算法大体可分为两种:一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。这里我们来探讨一下常用的比较排序算法,非比较排序算法将在下一篇文章中介绍。下表给出了常...原创 2018-06-12 15:01:48 · 15346 阅读 · 0 评论 -
常用排序算法总结(2)-- 非比较排序算法
上一篇总结了常用的比较排序算法,主要有冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。这篇文章中我们来探讨一下常用的非比较排序算法:计数排序,基数排序,桶排序。在一定条件下,它们的时间复杂度可以达到O(n)。这里我们用到的唯一数据结构就是数组,当然我们也可以利用链表来实现下述算法。需要三个数组:待排序数组 int[] arr = new int[]{1,4,3,4,3};辅助计数数组 ...原创 2018-06-13 14:18:53 · 1504 阅读 · 0 评论