数据结构之复杂度衡量
学数据结构的主要原因:
刷Leetcode算法题,无奈做完第一道Leetcode下面的就更本没有思路了,对基本的数据结构不了解,这么重要的课程TMD本科竟然不开,垃圾学校,原来还开C++,到了我们那一届连C++都不开,以至于导致我研一第一学期看SLAM连cout都不知道啥意思,唉……;
互联网企业笔试常常考这些,知道的有点晚,以至于研一下学期招实习的时候连笔试这关都过不了,哈哈,最后去了一个小公司,趁疫情这段时间,提升一下代码能力吧,来面对接下来的秋招。开干,哈哈。
看的书是清华大学灯俊辉编写的数据结构(C++语言版),具体的视频在mooc上、B站上都有,可以看看。这种东西应该早学,影响后期写代码的功底。不瞎求笔笔了,开干。
1、算法:
基于特定的计算模型,解决某一信息处理问题而设计的一个指令序列。
2、算法构成的基本要素
- 输入与输出
- 基本操作、确定性与可行性:当且仅当可以通过程序设计语言精确地描述
- 有穷性与正确性
- 退化与鲁棒性(degeneracy and robustness)
- 重用性:典型形式适用于不同类型基本元素的特性
3、算法效率
- 可计算性
- 难解性
- 计算效率
- 数据结构