【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. 后缀数组
相关推荐
Nil2085 分钟前
leetcode 98验证二叉搜索树
算法·leetcode·职场和发展
kkkkkkkkkk_Z14 分钟前
学嵌入式和C语言编程数据结构|学习日记Day21:内核链表与队列学习
c语言·数据结构·学习
不正经学生24 分钟前
C语言结构体:自定义数据类型,让变量打包出行
java·c语言·开发语言·数据结构·算法
HongXu_CaiYi31 分钟前
0103-python相关-函数、文件
python
cxr8281 小时前
数学的本质:关系、模式与不变量的结构世界
人工智能·算法·机器学习
程与留1 小时前
06_Qt 常用数据类型与容器:QString、QList、QVector、QMap 的性能与实现分析
数据结构·qt
vortex52 小时前
从Conda到UV:Python项目依赖管理的现代演进
python·conda·uv
林森lsjs2 小时前
队列 FIFO 原理 & 手撕两种队列实现(链表 + 循环数组)—数据结构陆
java·开发语言·数据结构·队列
何以解忧,唯有..2 小时前
Python time 模块详解:时间处理与日期操作指南
开发语言·python
梅雅达编程笔记2 小时前
Day 18 · 综合实战 B:AI 客服 Agent(专栏收官)
python·智能客服·ai agent·意图识别·ai客服·大模型应用·ai办公自动化