本文为学习算法体系课 (opens new window)整理的笔记和感悟,观看视频请支持正版。算法这种东西千万不要沉迷于”我看懂了,我知道了”这种错觉上,一定要敲出来!!!
什么是算法?
简单来说算法就是一系列解决问题的、清晰、可执行的计算机指令。
这篇博客大体会设计到如下算法及数据结构的介绍:
查找算法:
- 线性查找
- 二分查找
排序算法:
- 插入
- 冒泡
- 选择
- 希尔
- 快速
- 归并
- 堆排序
- 计数排序
- 桶排序
- 基数排序
字符串算法
- KMP
- 模式匹配
线性数据结构
- 动态数组
- 链表
- 栈
- 队列
- 哈希表
经典数结构
- 二分搜索树
- 堆
- AVL
- 红黑树
- B类树
高级数据结构
- 线段树
- 并查集
- Trie
- SQRT分解
...
相关算法会给出Java和JS两个版本的参考代码,这里不会对相关语言的基础语法做讲解哈,快速入门相关语言可以参考Java 教程 (opens new window)和JavaScript 教程 (opens new window)。
复杂度分析 →