美文网首页
复杂度学习

复杂度学习

作者: 提笔为刀_十一侠 | 来源:发表于2017-02-28 09:05 被阅读0次

常见的时间复杂度分析方法

1.数循环次数

循环次数是N,3层循环,时间复杂度就是N的3次方

2.均摊分析

3.递归式--主定理(算法导论第一章)

1.O(1)

基本运算 +-*/ %寻址

2.O(logn)

二分查找

3.O(n 1/2次方)

枚举约数

4.O(n)

线性查找

5.O(n 2次方)

朴素最近点对,冒泡排序

6.O(n 3次方)

Floayd最短路

普通矩阵乘法

7.O(nlogn)

归并排序,堆排序

快速排序的期望复杂度

基于比较排序的算法下界

8.O(2 n次方)

枚举全部的子集

9.O(n!)

枚举全排列

总结

优秀 O(1)<O(logn)<O(n 1/2次方)<O(n)<O(nlogn)

可优化O(n 2次方)<O(n 3次方)<O(2 n次方)<O(n!)

相关文章

  • 四种算法思想(上)- 分治、回溯

    四种算法思想 学习算法,有两个比较重要的基础要学习。 首先是复杂度的计算。复杂度包括时间复杂度和空间复杂度,通过对...

  • 数据结构与算法 复杂度分析

    复杂度:时间复杂度和空间复杂度。复杂度的分析是学习数据结构与算法的基础! 极简概述 复杂度的分析已经有很多很好...

  • 复杂度分析(下)笔记:浅析最好、最坏、平均、均摊时间复杂度

    复杂度分析(下)笔记:浅析最好、最坏、平均、均摊时间复杂度 最好时间复杂度和最坏时间复杂度在 渐近符号学习 中已经...

  • 重温:数据结构与算法 - 02复杂度分析(二)

    数据结构与算法之美-学习大纲 上一节,学习了什么是大O复杂度分析、有哪些复杂度分析技巧、什么是时间复杂度、什么是空...

  • 01 复杂度分析

    1 为什么要学习数据结构 2 算法分析 3 算法复杂度 3.1 大O复杂度 3.2 最好,最坏复杂度 3.3 均摊...

  • 程序员必须掌握的核心算法有哪些?

    一、算法最最基础1、时间复杂度 2、空间复杂度 一般最先接触的就是时间复杂度和空间复杂度的学习了,这两个概念以及如...

  • 常用算法

    时间复杂度 VS 空间复杂度 一般最先接触的就是时间复杂度和空间复杂度的学习了,这两个概念以及如何计算,是必须学的...

  • 学习先导:体系课学习流程

    为了应对学习内容复杂度曲线陡增,必须总结出流程方法,关乎效率,使在学习时间复杂度趋近平稳 α阶段:预览 预览大纲,...

  • 复杂度学习

    常见的时间复杂度分析方法 1.数循环次数 循环次数是N,3层循环,时间复杂度就是N的3次方 2.均摊分析 3.递归...

  • 算法的时间复杂度分析

    学习算法的读书笔记据说, 学习算法时, 时间复杂度是精髓, 把时间复杂度搞清楚, 算法就学成一半了? 为什么要学习...

网友评论

      本文标题:复杂度学习

      本文链接:https://www.haomeiwen.com/subject/obbtgttx.html