大O表示法指出了最糟情況下的運(yùn)行時(shí)間
經(jīng)常遇到的5種大O運(yùn)行時(shí)間:
- O(log n)关串,也叫對(duì)數(shù)時(shí)間庭再,這樣的算法包括二分查找(log => log 2)
- O(n) 膳汪,也叫線性時(shí)間茄袖,這樣的算法包括簡(jiǎn)單查找
- O(n*log n)渺贤,這樣的算法包括快速排序(一種速度較快的排序方法)
- O(n^2)雏胃,這樣的算法包括選擇排序(一種速度較慢的排序方法)
- O(n!),這樣的算法包括旅行商問(wèn)題的解決方案(一種非常慢的算法)
注意:
- 算法的速度指的并非時(shí)間志鞍,而是操作數(shù)的增速
- 談?wù)撍惴ǖ乃俣葧r(shí)瞭亮,我們說(shuō)的是隨著輸入的增加,其運(yùn)行時(shí)間將以什么樣的速度增加
- 算法的運(yùn)行時(shí)間用大O表示法表示
- O(log n) 比 O(n) 快固棚,當(dāng)需要搜索的元素越多時(shí)统翩,前者比后者快得越多