在面试前建立自己的算法技术体系。
**

数据结构


队列
链表
字典Map
集合Set


进阶算法

冒泡
选择
插入
归并
快速
顺序
二分搜索

算法设计思想

分而治之
动态规划
贪心算法
回溯算法

image.png

数据结构与算法简介

什么是数据结构和算法
数据结构:计算机存储、组织数据的方式,就像锅碗瓢盆
算法:一系列解决问题的清晰指令,就像食谱

数据结构和算法的关系

程序 = 数据结构 + 算法
数据结构为算法提供服务,算法围绕数据结构操作。

要学习的数据结构

栈、队列、链表
集合、字典
树、堆、图


时间/空间复杂度计算

时间复杂度计算

简单说,时间复杂度就是一个函数。
与普通函数不同,它用一个大写的O来表示,比如O(1), O(n), O(logN)等等。

时间复杂度,用来定性描述一个算法的运行时间。

注意定性这个关键字,意思是:时间复杂度,不会给出具体的时间值,而是一个大概的运行时间的趋势,而这个趋势,就是用上面那个O来表示的。

复习log函数

log函数:
对数函数。

空间复杂度计算