【python数据结构&算法篇】基本介绍

1. 写在前面

随着时代的发展。。。。算法开始,大致总结了一下,如下,应该够学几年了,还有新发现后续补充

2. python实现数据结构

2.1 python内置数据结构

  1. 列表
  2. 元组
  3. 字典
  4. 集合

2.2 线性表

2.2.1 字符串

2.2.2 栈

  1. 单调栈

2.2.3 队列

  1. 单调队列
  2. 循环队列
  3. 双向队列

2.2.4 链表

  1. 单向链表
  2. 双向链表
  3. 跳舞链(双向十字链表)
  4. 跳跃表

2.3 散列表

2.3.1 哈希表

  1. 计数
  2. 哈希函数
  3. 滚动哈希

2.4 树

2.4.1 二叉树

2.4.1.1 堆
2.4.1.2 二叉搜索树
2.4.1.3 平衡二叉树
  1. 红黑树
  2. AVL树
  3. 线段树
2.4.1.4 哈夫曼树
2.4.1.5 伸展树
2.4.1.6 可持久化线段树
2.4.1.7 主席树(Treap)

2.4.2 非二叉树

2.4.2.1字典树
2.4.2.2 B树
2.4.2.3 B+树
2.4.2.4 234树

2.5 图

2.5.1 深度优先搜索

  1. 回溯
  2. 递归
  3. 分治

2.5.2 广度优先搜索

  1. 拓补排序

2.5.3 有向图

  1. 强连通分量

2.5.4 无向图

  1. 双连通分量

2.5.5 回路

  1. 欧拉回路
  2. 哈米尔顿回路

2.6 并查集

  1. 最小生成树

2.7 树状数组

3. python算法

3.1 查找算法(枚举算法)

  1. 顺序查找
  2. 二分查找

3.2 排序算法

  1. 冒泡排序
  2. 选择排序
  3. 插入排序
  4. 希尔排序
  5. 快速排序
  6. 归并排序
  7. 计数排序
  8. 堆排序
  9. 桶排序
  10. 基数排序
  11. 平滑排序

3.3 动态规划

3.3.1 递推算法

3.3.2 线性DP

  1. 前缀和
  2. 前缀最值

3.3.3 状态压缩DP

3.3.4 记忆化搜索

3.3.5 博弈DP

3.3.6 区间DP

3.3.7 数位DP

3.3.8 最短路算法

  1. Dijkstra
  2. Bellman-Ford
  3. Folyed
  4. SPFA
  5. Dijkstra + Heap

3.4 贪心算法

3.5 双指针算法

  1. 滑动窗口
  2. 快慢指针

3.6 模拟算法

3.7 分治算法

3.8 字符串匹配算法

  1. 字典树
  2. KMP
  3. AC自动机
  4. BM算法
  5. 后缀数组
相关推荐
努力学算法的蒟蒻5 分钟前
day58(1.9)——leetcode面试经典150
算法·leetcode·面试
心静财富之门17 分钟前
退出 for 循环,break和continue 语句
开发语言·python
txinyu的博客19 分钟前
map和unordered_map的性能对比
开发语言·数据结构·c++·算法·哈希算法·散列表
WJSKad123525 分钟前
YOLO11-FDPN-DASI实现羽毛球拍与球的实时检测与识别研究
python
幻云201033 分钟前
Next.js之道:从入门到精通
人工智能·python
搞笑症患者34 分钟前
压缩感知(Compressed Sensing, CS)
算法·最小二乘法·压缩感知·正交匹配追踪omp·迭代阈值it算法
0和1的舞者35 分钟前
GUI自动化测试详解(三):测试框架pytest完全指南
自动化测试·python·测试开发·自动化·pytest·测试
im_AMBER38 分钟前
Leetcode 101 对链表进行插入排序
数据结构·笔记·学习·算法·leetcode·排序算法
予枫的编程笔记38 分钟前
【Java集合】深入浅出 Java HashMap:从链表到红黑树的“进化”之路
java·开发语言·数据结构·人工智能·链表·哈希算法
大神君Bob1 小时前
【AI办公自动化】教你使用Pytho让Word文档处理自动化
python