软考中的数据结构

简介:

排序所花费时间不受数据初始排列特性影响算法的是快速排序。

最好情况下时间复杂度为o(n)的算法是直接插入排序法。

总结:

排序方法      平均时间    最好情况   最坏情况    辅助存储    稳定性

选择排序      o(n^2)       o(n^2)    o(n^2)        o(1)       不稳定

插入排序       o(n^2)       o(n)   o(n^2)        o(1)       稳定

冒泡排序       o(n^2)      o(n^2)    o(n^2)        o(1)       稳定

希尔排序      o(n^1.25)    --       --           o(1)       不稳定

快速排序      o(nlogn)    o(nlogn)o(n^2)      o(nlogn)      不稳定

堆排序        o(nlogn)  o(nlogn) o(nlogn)   o(1)         稳定

归并排序      o(nlogn)  o(nlogn)  o(nlogn)  o(n)       稳定

基数排序     o(d+(n+rd))o(d+(n+rd))o(d+(n+rd))o(rd)    稳定

一些结论:

若待排序的记录数目较小时,可采用插入排序和选择排序;

若待排序记录按关键字基本有序,则宜采用直接插入排序或冒泡排序;

当n很大且关键字的位数较少时,采用链式基数排序较好;

若n较大时,则应采用时间复杂度为o(nlogn)的排序方法——快速排序,堆排序,归并排序   



本文转自 寂岚峰 51CTO博客,原文链接:http://blog.51cto.com/13271983/1971865,如需转载请自行联系原作者

相关文章
|
存储 算法 C语言
软考中级之数据库系统工程师笔记总结(二)数据结构与算法
软考中级之数据库系统工程师笔记总结(二)数据结构与算法
112 0
【软考】-数据结构-平衡二叉树
【软考】-数据结构-平衡二叉树
138 0
|
存储 算法 搜索推荐
软考——软件设计师:第四章:数据结构&算法分析与设计考点总结(完整篇)(下)
软考——软件设计师:第四章:数据结构&算法分析与设计考点总结(完整篇)(下)
软考——软件设计师:第四章:数据结构&算法分析与设计考点总结(完整篇)(下)
|
存储 机器学习/深度学习 人工智能
软考——软件设计师:第四章:数据结构&算法分析与设计考点总结(完整篇)(上)
软考——软件设计师:第四章:数据结构&算法分析与设计考点总结(完整篇)(上)
软考——软件设计师:第四章:数据结构&算法分析与设计考点总结(完整篇)(上)
|
算法
软考中级软件设计师自我总结知识分享--数据结构(下)
该系列文章全篇文字在10w+,全文都是自己备考中的干货,软考涉及很多计算机基础,数据结构,算法分析,编程思想,开发流程等等,不仅适合参加软考的人学习,也适合扩宽自己知识视野的人去学习,每一篇都将会把重点加粗处理,特别是易错点,考试常考平时也容易记错,请一定仔细看
164 0
|
算法
软考中级软件设计师自我总结知识分享--数据结构(上)
该系列文章全篇文字在10w+,全文都是自己备考中的干货,软考涉及很多计算机基础,数据结构,算法分析,编程思想,开发流程等等,不仅适合参加软考的人学习,也适合扩宽自己知识视野的人去学习,每一篇都将会把重点加粗处理,特别是易错点,考试常考平时也容易记错,请一定仔细看
205 0
|
存储 算法 机器学习/深度学习
软考设计师15-数据结构01
日常管理,先上思维导图 线性表 1 定义:n个元素的有限序列,通常记为(a1,a2,...,an) 2 特点:存在唯一表头表尾,直接前驱,直接后继 3 存储 1)顺序存储 定义:用一组地址连续的存储单元依次存储线性表中的数据元素,逻辑、物...
1271 0
|
存储 算法 索引
【软考视频】数据结构
<pre style="line-height:27px; widows:auto"><span style="font-family:KaiTi_GB2312; font-size:18px"><span style="white-space:pre"> </span>经过一周的休息,继续备战软考。软考视频,宏观看了看,A、B、C三个部分,加起来可以说是涵盖了计算机领域的各个方面。 <s
1209 0
|
存储 前端开发 C++
软考之路--数据结构之线性表
        数据就是数值,也就是我们通过观察、实验或计算得出的结果。数据有很多种,最简单的就是数字。数据也可以是文字、图像、声音等。数据可以用于科学研究、设计、查证等。
1198 0
|
10月前
|
存储 算法
非递归实现后序遍历时,如何避免栈溢出?
后序遍历的递归实现和非递归实现各有优缺点,在实际应用中需要根据具体的问题需求、二叉树的特点以及性能和空间的限制等因素来选择合适的实现方式。
210 59