排序算法

在这个“信息爆炸”的年代,找到好的资源有时也不是件易事。拷贝写资源过来为自己用,免得以后难找。后面再自己总结。

排序类别

排序方法

时间复杂度

空间复杂度

稳定性

复杂性

平均情况

最坏情况

最好情况

交换排序

冒泡排序

O(N2)

O(N2)

O(N)

O(1)

稳定

简单

交换排序

快速排序

O(Nlog2N)

O(N2)

O(Nlog2N)

O(Nlog2N)

不稳定

较复杂

插入排序

直接插入排序

O(N2)

O(N2)

O(N)

O(1)

稳定

简单

插入排序

希尔排序

O(Nlog2N)

O(N1.5)

 

O(1)

不稳定

较复杂

选择排序

简单选择排序

O(N2)

O(N2)

O(N2)

O(1)

不稳定

简单

选择排序

堆排序

O(nlog2n)

O(nlog2n)

O(nlog2n)

O(1)

不稳定

较复杂

归并排序

归并排序

O(nlog2n)

O(nlog2n)

O(nlog2n)

O(n)

稳定

较复杂

基数排序

基数排序

O(d(n+r))

O(d(n+r))

O(d(n+r))

O(n+r)

稳定

较复杂

三个时间复杂度都一样则与初始排序无关



二叉查找树:
二叉树采用中序遍历: 那因为二叉搜索树的特征决定的,因为 二叉搜索树要么是一棵空树,要么:1)如果左子树不空,则根结点大于左子树根结点;2)如果右子树不空,则根结点小于右子树的根结点;3)根结点的左右子树均是一棵二叉搜索树。当对二叉搜索树进行中序遍历时,先访问的是左子树,然后是根,再访问的是右子树,而二叉搜索树有左子树的结点值《根《右子树结点的值,所以可以得到一个有序的序列
插入:
删除:

参考文献:

http://www.cnblogs.com/jingmoxukong/p/3790604.html  (这里也提供了总的图)

http://www.cnblogs.com/jingmoxukong/p/4329079.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值