跳到主要内容

📚学习 数据结构和算法

📚学习 数据结构和算法

数据结构与算法简介

  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算法