数据结构学习记录_2019.02.10
- 树的结构:一对多的结构
- 图的结构:多对多的结构
- 面向对象的语言:C++,java等语言
- 类:某一个数据及其跟它相关的一些数据的封装
- 常用英文单词:列数:columns;行数:raws;
- 抽象数据类型:不关心具体的类型、大小、形式,而是在概念上对其进行相关的操作,是一个概括的过程;抽象为上一层提供操作元素,而元素的操作规则及相应处理合成封装一个抽象,帮助程序员解决在他相应层面需要解决的事情,不用关心具体实现
- 算法:Algorithm
- 递归函数的循环调用,因为会不断存储暂态直至遇到结束条件,因此随着N的不断增长,会导致占用空间太大从而程序无法正常运行;
- 机器运算加减法的速度比乘除法的速度要快很多;因此某一程序运行的时间复杂度主要取决于乘除法的时间;
- 好的算法评估:最坏情况复杂度;平均复杂度;
- 复杂度排序:1<logn<n<nlogn<n^2<2^n<n!;尽量降低复杂度;
- 两段算法复杂度分析:(1)算法相加,则复杂度为较大的那个复杂度上界;(2)算法相乘,则复杂度为两个复杂度上界相乘;(3)k阶多项式真正起作用的只有阶数最大的那一项;(4)for循环的复杂度=循环的次数*循环体代码的复杂度;(5)if-else的复杂度取if条件判断复杂度及两个分支的复杂度这3者中最大的那个复杂度;
hello world~