-
算法的两个衡量标准(因素)
- 时间复杂度,即运行时间的长短
- 空间负责度,即占用内存空间的大小
-
数据结构
- 定义:数据结构是数据的组织、管理和存储格式,其使用目的是高效地访问和修改数据
- 分类:
2.1、线性结构:数组、链表、栈、队列、哈希表
2.2、树:二叉树、二叉堆
2.3、图:多种多样
2.4、其它数据结构
3、渐进时间复杂度
3.1、渐进时间复杂度:若存在函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n) = O(f(n)),称为O(f(n)),O为算法的渐进时间复杂度,简称为时间复杂度。因为渐进时间复杂度用大写O表示,所以也被称为大O表示法。
3.2、如何推到时间复杂度
- 如果运行时间是常数量级,则用常数1表示
- 只保留时间函数中的最高阶项
- 如果最高阶项存在,则省去最高阶项前面的系数
3.3、比较O(1) 、O(logn) 、O(n) 、O(n^2) 四个时间复杂度的算法,当n足够大时,谁更节省时间?
当n足够大时,它们花费时间的排序为:O(1) < O(logn) < O(n) < O(n^2)
4、