数据结构与算法
目的:
1.建立解决问题的思想(实际问题转换为计算机指令:设计出数据结构,再加以算法就可以了)
时间复杂度:代码从执行开始到结束所需要的时间。算法中基本操作重复执行的次数(频度)作为算法的时间复杂度。O(1)常数阶,无循环。O(n)有一次循环,线性阶。
空间复杂度:运行完一个程序所需要的内存的大小。
2.数据结构:数据结构即数据元素相互之间存在的一种和多种特定的关系集合。
可以从逻辑结构和存储结构两个维度理解数据结构。
2.1逻辑结构(表示数据之间的关系,包括线性结构 与 非线性结构)
线性结构:有序数据元素的集合。eg:栈(先进后出:入数剧在栈顶),队列(先进先出:入数剧在队尾),链表,线性表。
非线性结构:各个元素不在一个线性序列中,每个数据元素可能与0个或多个其他数据元素发生联系。eg:树,二维数组。
2.2存储结构(逻辑结构用计算机语言的实现。)
常见存储结构包括:顺序存储,链式存储,索引存储,散列存储
参考链接
https://segmentfault.com/a/1190000020122791
算法学习与练习
https://www.conardli.top/docs/dataStructure/