一些排序复杂度和思想
来源:互联网 发布:js实现图片预加载动画 编辑:程序博客网 时间:2024/06/12 21:36
名称
复杂度
说明
备注
冒泡排序
Bubble Sort
O(N*N)
将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮
插入排序
Insertion sort
O(N*N)
逐一取出元素,在已经排序的元素序列中从后向前扫描,放到适当的位置
起初,已经排序的元素序列为空
选择排序
Selection Sort
O(N*N)
首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此递归。
快速排序
Quick Sort
O(n *log2(n))
先选择中间值,然后把比它小的放在左边,大的放在右边(具体的实现是从两边找,找到一对后交换)。然后对两边分别使用这个过程(递归)。
堆排序Heap Sort
O(n *log2(n))
利用堆(heaps)这种数据结构来构造的一种排序算法。堆是一个近似完全二叉树结构,并同时满足堆属性:即子节点的键值或索引总是小于(或者大于)它的父节点。
近似完全二叉树
希尔排序
SHELL Sort
O(n1+£)
0<£<1
选择一个步长(Step) ,然后按间隔为步长的单元进行排序.递归,步长逐渐变小,直至为1.
箱排序
Bin Sort
O(n)
设置若干个箱子,把关键字等于 k 的记录全都装入到第 k 个箱子里 ( 分配 ) ,然后按序号依次将各非空的箱子首尾连接起来 ( 收集 ) 。
分配排序的一种:通过 " 分配 " 和 " 收集 " 过程来实现排序。
桶排序
Bucket Sort
O(n)
桶排序的思想是把 [0 , 1) 划分为 n 个大小相同的子区间,每一子区间是一个桶。
- 一些排序复杂度和思想
- 一些排序复杂度和思想
- 用哈希算法的思想解决排序和字符串去重问题,时间复杂度为O(N)
- 排序总结-时间复杂度和空间复杂度
- 各种排序和查找复杂度
- 内部排序算法思想及时空复杂度比较
- 浅谈直接插入排序算法思想以及时间复杂度分析
- 八大排序算法思想,时间复杂度,稳定性、及其java实现
- 【排序】各种排序算法时间复杂度和空间复杂度表
- 各种排序算法的思想以及时间复杂度,空间复杂度总结
- 关于时间复杂度和空间复杂度的一些想法
- 常用的排序算法的时间复杂度和空间复杂度
- 排序算法的时间复杂度和空间复杂度
- 内部排序算法的稳定性,时间复杂度和空间复杂度
- 常用的排序算法的时间复杂度和空间复杂度
- 常用的排序算法的时间复杂度和空间复杂度
- 排序算法的时间复杂度和空间复杂度
- 常用的排序算法的时间复杂度和空间复杂度 .
- Java多线程问题总结
- ParisWeather- Accurate Forecast
- caffe学习之二:数据准备
- U-BOOT移植过程详解: SPL
- 【UDP demo及抓包分析】
- 一些排序复杂度和思想
- ssh-copy-id
- Linux的历史
- 40个Java多线程问题总结
- js中对函数设置默认参数值的3种方法
- Linux在nanopi m3的安装配置
- 链表操作
- 使用sql语句创建修改SQL Server表id自增
- NameError: name 'mnist' is not defined