各种排序算法的思想以及时间复杂度,空间复杂度总结
来源:互联网 发布:软件行业怎么样 编辑:程序博客网 时间:2024/06/05 04:50
1.插入排序:每次待排记录插入前面已经排好队列适当位置①.直接插入排序
直接排序法好情况下(待排序列已按关键码有序)每趟排序只需作1次比较而需要移动元素所n元素比较次数n-1移动次数0差情况下(逆序)其第i元素必须和前面元素进行比较i次移动数i+1所总共比较次数 比较多写出来了总结:种稳定排序方法时间复杂度O(n^2)排序过程只要辅助空间所空间复杂度O(1)②.希尔排序缩小增量排序对直接插入排序种改进;分组插入方法总结:种稳定排序方法时间复杂度O(n^1.25)空间复杂度O(1)2.交换排序①.冒泡排序好情况下正序所只要比较次行了复杂度O(n)坏情况下逆序要比较n^2次才行复杂度O(n^2)总结:稳定排序方法时间复杂度O(n^2)空间复杂度O(1)当待排序列有序时效比较好②.快速排序
通过趟排序待排记录分割成独立两部分其部分记录关键字均比另部分关键字小再分别对两部分记录继续进行排序达整序列有效总结:所有同数量级O(nlogn)排序方法快速排序性能好种方法待排序列无序时好算法时间复杂度O(nlogn)坏时间复杂度O(n^2)空间复杂度O(nlogn) 3.选择排序①.直接选择排序 和序列初始状态无关 总结:时间复杂度O(n^2)无论好还坏②.堆排序 直接选择排序改进总结:时间复杂度O(nlogn)无论好还坏情况下都O(nlogn) 4.归并排序总结:时间复杂度O(nlogn)空间复杂度O(n) 5.基数排序按组成关键字各数位值进行排序分配排序种需要进行排码值间比较能够进行排序总结:时间复杂度O(d(n+rd)) 总总结: n比较小时候适合 插入排序和选择排序 基本有序时候适合 直接插入排序和冒泡排序 n大关键字位数较少时适合 链式基数排序 n大时候适合 快速排序 堆排序 归并排序 无序时候适合 快速排序 稳定排序:基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序稳定: 快速排序、希尔排序、堆排序、直接选择排序复杂度O(nlogn):快速排序 堆排序 归并排序 辅助空间(大 次大):归并排序 快速排序 好坏情况样:简单选择(n^2)堆排序(nlogn)归并排序(nlogn) 好O(n):插入排序 冒泡排序
0 0
- 各种排序算法的思想以及时间复杂度,空间复杂度总结
- 排序算法的时间复杂度以及空间复杂度 计数排序
- 各种排序算法的时间复杂度和 空间复杂度
- 各种常用排序算法的时间复杂度和空间复杂度
- 各种常用排序算法的时间复杂度和空间复杂度
- 常用排序算法的时间复杂度以及空间复杂度
- 排序算法的时间复杂度以及空间复杂度
- 【排序】各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度、空间复杂度比较
- 各种排序算法比较(2):时间复杂度,空间复杂度
- 各种排序算法比较:时间复杂度,空间复杂度
- 各种排序算法比较:时间复杂度,空间复杂度
- 各种排序算法比较:时间复杂度,空间复杂度
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法比较:时间复杂度,空间复杂度
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法比较(2):时间复杂度,空间复杂度
- 各种排序算法时间复杂度和空间复杂度表
- Apache 配置文件详解
- mysqlbinlog 查看mysql bin 日志
- 光照贴图深入学习 Lightmapping In-Depth
- Exception in createBlockOutputStream java.net.noRouteToHostException: No route to host
- Android加载器LoaderManager.LoaderCallbacks的使用
- 各种排序算法的思想以及时间复杂度,空间复杂度总结
- 使用Unity直接製作Lightmap
- hdu problem 1106-sort 解体报告
- About texture atlas
- linux安装软件时提示找不到镜像的问题:Couldn't resolve host 'mirrorlist.centos.org'
- java.lang.IllegalArgumentException: Document base D:/appservers/apache-tomcat-6.0.20/webapps/megaey
- 注册/注销ActiveX控件
- Pad版Office漏洞允许多台iPad共享同一帐号
- 在64位Ubuntu下面使用Android NDK编译Tvheadend