博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
总结了一些常见的排序算法,面试必备啊!
阅读量:6255 次
发布时间:2019-06-22

本文共 792 字,大约阅读时间需要 2 分钟。

名称

复杂度

说明

备注

冒泡排序

Bubble Sort

O(N*N)

将待排序的元素看作是竖着排列的气泡,较小的元素比较轻,从而要往上浮

 

插入排序

Insertion sort

O(N*N)

逐一取出元素,在已经排序的元素序列中从后向前扫描,放到适当的位置

起初,已经排序的元素序列为空

选择排序

O(N*N)

首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此递归。

 

快速排序

Quick Sort

O(n *log2(n))

先选择中间值,然后把比它小的放在左边,大的放在右边(具体的实现是从两边找,找到一对后交换)。然后对两边分别使用这个过程(递归)。

 

堆排序Heap Sort

O(n *log2(n))

利用堆(heaps)这种数据结构来构造的一种排序算法。堆是一个近似完全二叉树结构,并同时满足堆属性:即子节点的键值或索引总是小于(或者大于)它的父节点。

近似完全二叉树

希尔排

SHELL

O(n1+)

0<<1

选择一个步长(Step) ,然后按间隔为步长的单元进行排序.递归,步长逐渐变小,直至为1.

 

箱排序

Bin Sort

O(n)

设置若干个箱子,把关键字等于 k 的记录全都装入到第 k 个箱子里 ( 分配 ) ,然后按序号依次将各非空的箱子首尾连接起来 ( 收集 ) 

分配排序的一种:通过分配 "  " 收集 "过程来实现排序。

桶排序

Bucket Sort

O(n)

桶排序的思想是把 [0  1) 划分为 n 个大小相同的子区间,每一子区间是一个桶。

本文转自Jack Niu博客园博客,原文链接:http://www.cnblogs.com/skywind/archive/2007/04/13/712021.html,如需转载请自行联系原作者

你可能感兴趣的文章
DNS 协议2
查看>>
Ubuntu 隐藏所有窗口快捷键不生效问题
查看>>
编译Spring源码
查看>>
javascript运算符优先级
查看>>
Spring Cloud 学习 (七) Spring Cloud Sleuth
查看>>
使用docker api
查看>>
Log4j简单配置解析
查看>>
游戏上线... 记录下...
查看>>
js运动 淡入淡出
查看>>
leetcode 75颜色分类
查看>>
程序员求职成功路(3)
查看>>
Winform 打印PDF顺序混乱,获取打印队列
查看>>
django 快速搭建blog
查看>>
datetime.timedelta类
查看>>
SQL Server,MySQL,Oracle三者的区别
查看>>
[K/3Cloud] 在设计时复制已有表单菜单或菜单项快速建立菜单
查看>>
矩阵快速幂总结
查看>>
[spring] Ioc 基础
查看>>
关于DataTables一些小结
查看>>
win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程
查看>>