数据结构 学习笔记 2018年6月3日14:08:59

时间:2022-01-05 14:29:23

非科班出身真的知之甚少,能学一点是一点

好的算法有两个衡量指标

    1.空间复杂度

        根据算法写成的程序在执行时占用存储单元的长度

    2.时间复杂度

        根据算法携程的程序在执行时耗费的时间长度


    空间复杂度太大,程序会直接崩溃。

    时间复杂度太大,需要等待很长的时间才会得出结果。

   

    机器运算加减 比运算乘除 要快很多


     分析算法效率的时候需要关心两种复杂度

          1.最坏情况复杂度(容易分析)

           2.平均复杂度

   

    复杂度的渐进表示法

        上界 、 下界

        分析算法是都希望越贴近界限越好

       

        千万不要设计出 n!的算法

        最缓慢的曲线是 log n

        n 平方 的 算法 可以想办法 替换成 n log n

       

        思想 分而治之

           先将问题 拆分 然后 分别计算 最后 整合起来


 

线性结构

    线性表

        一元多项式

        如何用程序设计 一元多项式

    1.同一个问题可以有不同的表示(存储)方法

    2.有一类共性问题:有序线性序列的组织和管理

    线性表的抽象数据类型(list)

        实现:利用数组的顺序存储