(一) Java数据结构与算法(第二版)笔记——大O表示法
来源:互联网 发布:yii2 商城源码 编辑:程序博客网 时间:2024/05/17 01:32
大O表示法
汽车按尺寸被分为若干类:微型,小型,中型等等。在不提及具体尺寸的情况下,这些分类可以为我们所涉及到车的大小提供一个大致概念。我们同样也需要一种快捷的方法来评价计算机算法的效率。在计算机科学中,这种粗略的度量方法被称作“大O”表示法。
我所需的是一个可以描述算法的速度是如何与数据项的个数相联系的比较。
无序数组的插入:常数
向一个无序数组中插入一个数据项的时间T是一个常数K:T = K。
线性查找:与N成正比
设N为数据项总数,搜索时间T与N的一半成正比:T = K*N/2.
将2并入K可以得到一个更方便的公式。新K的值等于原先的除以2。新公式:T = K*N。
二分查找:与log (N)成正比
T = K*log2(N)。实际上,由于所有的对数都和其他对数成比例,我们可以将这个为常数的底数也并入K,由此不必指定底数:T = K*log(N)。
不要常数
大O表示法同上面的公式比较类似,但它省去了常数K。
大O表示法使用大写字母O,可以认为其含义是“order of”(大约是)。我们可以使用大O表示法来描述线性查找使用了O(N)级时间,二分查找使用了O(logN)级时间。向一个无序数组中插入使用了O(1),或常数级时间。
大O表示法的实质并不是对运行时间给出实际值,而是表达了运行时间是如何受数据项个数所影响的。
- (一) Java数据结构与算法(第二版)笔记——大O表示法
- (三) Java数据结构与算法(第二版)笔记——选择排序
- 《数据结构与算法》学习笔记4 存储对象的数组和大O表示法
- Smart210 裸奔笔记——Makefile
- 中科院Java Web开发视频教程笔记——第3讲
- 数据结构与算法(2、从Reverse到大O表示法)
- MyBatis学习总结(一)——MyBatis快速入门
- capwap学习笔记——初识capwap(四)
- capwap学习笔记——初识capwap(四)
- capwap学习笔记——初识capwap(四)
- capwap学习笔记——初识capwap(四)
- 数据库模型设计——历史与版本设计
- 多元线性回归 ——模型、估计、检验与预测
- 数据结构与算法 java版 学习笔记 第二章
- QT——绘图设备
- SQL必知必会——分组
- 数据备份——PHP
- 002—交叉工具链与使用
- qt plugin
- qt plugin
- hibernate之生成的和默认的属性值(使用generated刷新实体)
- openSUSE 11.2 ADSL 宽带拔号连接网络
- hibernate之映射组件
- (一) Java数据结构与算法(第二版)笔记——大O表示法
- 如何判断是否是GBK和BIG5编码
- (二) Java数据结构与算法(第二版)笔记——冒泡排序
- (三) Java数据结构与算法(第二版)笔记——选择排序
- (四) Java数据结构与算法(第二版)笔记——插入排序
- Installing SESC simulator on Fedora 13
- 结构体参数的传递以及如何修改指针参数的值
- 解析和生成Excel报表方法汇总(转)
- Notice of programming XML Service for Cisco IP Phone which based on Java kernel