数据结构学习记录_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者中最大的那个复杂度;
posted @ 2019-02-10 20:16  Bran_don  阅读(219)  评论(0编辑  收藏  举报