算法相关概念

算法的时间复杂度

是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。

算法的空间复杂度

是对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))。比如直接插入排序的时间复杂度是O(n^2),空间复杂度是O(1) 。而一般的递归算法就要有O(n)的空间复杂度了,因为每次递归都要存储返回信息。

算法的稳定性

通俗地讲就是能保证排序前两个相等的数据其在序列中的先后位置顺序与排序后它们两个先后位置顺序相同。即:如,如果A i == A j,Ai 原来在 Aj 位置前,排序后 Ai 仍然是在 Aj 位置前。

排序算法

使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。

  • 比较类排序

    通过比较来决定元素间的相对次序,由于其书剑复杂度不能突破O(nlogn),因此也被称为非线性事件比较类排序。

    选择排序 冒泡排序 插入排序 希尔排序 归并排序 堆排序 快速排序

  • 非比较类排序

    不通过比较来决定元素箭的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也被称为线性时间非比较类排序。

    计数排序 桶排序 基数排序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值