算法的时间复杂度
是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。
算法的空间复杂度
是对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))。比如直接插入排序的时间复杂度是O(n^2),空间复杂度是O(1) 。而一般的递归算法就要有O(n)的空间复杂度了,因为每次递归都要存储返回信息。
算法的稳定性
通俗地讲就是能保证排序前两个相等的数据其在序列中的先后位置顺序与排序后它们两个先后位置顺序相同。即:如,如果A i == A j,Ai 原来在 Aj 位置前,排序后 Ai 仍然是在 Aj 位置前。
排序算法
使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
-
比较类排序
通过比较来决定元素间的相对次序,由于其书剑复杂度不能突破O(nlogn),因此也被称为非线性事件比较类排序。
选择排序 冒泡排序 插入排序 希尔排序 归并排序 堆排序 快速排序
-
非比较类排序
不通过比较来决定元素箭的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也被称为线性时间非比较类排序。
计数排序 桶排序 基数排序

被折叠的 条评论
为什么被折叠?



