1.数据结构算法基本概念
1.1 数据结构:
指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系,简单的理解就是元素之间的相互关系
。
其中逻辑结构分为四类:
- 集合结构
- 线性结构
- 树形结构
- 图形结构
存储结构一般分为:
- 顺序存储
- 链式存储
1.2 算法
指特定问题求解步骤的描述。算法的特性有:输入,输出,有穷性,确定性和可行性
。
算法的优劣主要从算法的执行时间
和所需要占用的存储空间
两个方面衡量,也称之为时间复杂度
和空间复杂度
。
2. 算法的时间复杂度和空间复杂度
时间复杂度
是一个函数,它定性描述了该算法的运行时间,时间复杂度常用大O
符号表述,不包括这个函数的低阶项和首项系数。空间复杂度(Space Complexity)
是对一个算法在运行过程中临时占用存储空间大小
的量度。
常见的时间复杂度:
- 常数阶O(1),
- 对数阶O($\log_2 n$),
- 线性阶O(n),
- 线性对数阶O(n* $\log_2 n$),
- 平方阶O($n^2$),
- 立方阶O($n^3$),
- k次方阶O($n^K$),
- 指数阶O ($2^n$)。
举几个列:
1 | // 比如我们现在 求 1+2+3+4+***+n |
作业:读一篇英文文档统计字符出现的个数
1 |
|