本文为学习算法体系课 (opens new window)整理的笔记和感悟,观看视频请支持正版。算法这种东西千万不要沉迷于”我看懂了,我知道了”这种错觉上,一定要敲出来!!!

什么是算法?

简单来说算法就是一系列解决问题的、清晰、可执行的计算机指令。

这篇博客大体会设计到如下算法及数据结构的介绍:

查找算法:

  • 线性查找
  • 二分查找

排序算法:

  • 插入
  • 冒泡
  • 选择
  • 希尔
  • 快速
  • 归并
  • 堆排序
  • 计数排序
  • 桶排序
  • 基数排序

字符串算法

  • KMP
  • 模式匹配

线性数据结构

  • 动态数组
  • 链表
  • 队列
  • 哈希表

经典数结构

  • 二分搜索树
  • AVL
  • 红黑树
  • B类树

高级数据结构

  • 线段树
  • 并查集
  • Trie
  • SQRT分解

...

相关算法会给出Java和JS两个版本的参考代码,这里不会对相关语言的基础语法做讲解哈,快速入门相关语言可以参考Java 教程 (opens new window)JavaScript 教程 (opens new window)