[数据结构学习笔记2] 大O法表示程序的时间复杂度(O(n))

程序运行都是需要时间的,我们用大O法来表示,程序在最坏情况下,运行时间和输入规模的关系。

一般有这么几种大O时间:

快:

闪电:O(1) - 常量复杂度 - 和输入无关;比如通过数组下标访问元素;简单数学运算,如看末尾数字是否是基数;

火箭:O(log n) - 对数复杂度 - 时间增长随数字规模增长缓慢;这种复杂度通常把问题分而治之,当输入规模翻倍时,时间却增长很小;

平均:

兔子:O(n) - 线性复杂度 - 时间随输入规模呈线性增长;比如对数组中每个元素操作;

自行车:O(n log n) - 线性对数复杂度 - 比如归并排序和快速排序;

慢:

大象:O(n^2) - 平方复杂度 - 时间随输入规模增长呈平方级增长;比如冒泡排序,选择排序;

乌龟:O(2^n) - 指数复杂度 - 时间随输入规模增长呈指数级增长;

小树生长:O(n!) - 阶乘复杂度。

posted @   Eagle6970  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示