想学新东西,随手拿来一本资料,一部视频,但总感觉学不会,吸收效率低。不是我们笨,只是打开他们的方式不对,合适的学习教材,能让学习过程变得简单,形象贴近生活。文底是干货直通车,好东西大家记得收藏,都是精挑细选的。文章内容是我自己的笔记,是用最简语言写的,可能不利于理解,大家想了解更多,还要看原文。
数据结构
计算机存、组织数据的方式,相互间有一种及以上关系的集合。
数据结构的基本功能:增、删、查、迭代。
算法
解决问题的步骤。
五个特征:
1.有穷性:输入必有结束。
2.确定性:处理明确,路径唯一。
3.可行性:有限次基础操作。
4.有输入:加工对象量值。
5.有输出:加工结果。(与输入有确定关系)
设计原则:
1.正确性
2.可读性
3.健壮性
4.高效率与低存储需求
*算法效率:*算法执行时间。
*存储量:*算法执行过程序所需最大存储空间。(包括程序本身所占空间、输入数据所占空间、辅助变量所占空间)
*时间复杂度:*执行算法需要消耗多少时间, T(n)=O(f(n))。
空间复杂度:算法需要占用多少内存空间, S(n)=O(f(n))。