跳到主要内容

📚学习 数据结构和算法

📚学习 数据结构和算法​

数据结构与算法简介​

  1. 什么是算法?
  2. 数据结构及其类型
  3. 为什么学习数据结构和算法?
  4. 渐近分析:大O符号等
  5. 主定理
  6. 分治算法

数据结构(一)​

  1. 栈数据结构
  2. 队列数据结构
  3. 队列的类型
  4. 循环队列数据结构
  5. 优先队列
  6. 双端队列数据结构

数据结构(二)​

  1. 链表数据结构
  2. 链表操作:遍历、插入和删除
  3. 链表的类型 - 单链表、双链表和循环链表
  4. 哈希表
  5. 堆数据结构
  6. 斐波那契堆
  7. 斐波那契堆上的减键和删除节点操作

基于树的数据结构算法(一)​

  1. 树形数据结构
  2. 树遍历 - 中序、前序和后序
  3. 二叉树
  4. 完全二叉树
  5. 完美二叉树
  6. 完备二叉树
  7. 平衡二叉树
  8. 二叉搜索树(BST)
  9. AVL树

基于树的数据结构算法(II)​

  1. B树
  2. 向B树中插入
  3. 从B树中删除
  4. B+树
  5. 向B+树中插入
  6. 从B+树中删除
  7. 红黑树
  8. 向红黑树中插入
  9. 从红黑树中删除

基于图的数据结构算法​

  1. 图数据结构
  2. 生成树和最小生成树
  3. 强连通分量
  4. 邻接矩阵
  5. 邻接列表
  6. 深度优先搜索(DFS)
  7. 广度优先搜索
  8. 贝尔曼-福特算法

排序与搜索算法​

  1. 冒泡排序算法
  2. 选择排序算法
  3. 插入排序算法
  4. 归并排序算法
  5. 快速排序算法
  6. 计数排序算法
  7. 基数排序算法
  8. 桶排序算法
  9. 堆排序算法
  10. 希尔排序算法
  11. 线性搜索
  12. 二分搜索

贪心算法​

  1. 贪心算法
  2. Ford-Fulkerson算法
  3. 迪杰斯特拉算法
  4. 克鲁斯卡尔算法
  5. 普里姆算法
  6. 哈夫曼编码

动态规划​

  1. 动态规划
  2. 弗洛伊德-沃舍尔算法
  3. 最长公共子序列

其他算法​

  1. 回溯算法
  2. Rabin-Karp算法