Python数据结构总结

这篇博客详细介绍了Python中的数据结构,包括链表、堆栈、队列、树型结构、图型结构、排序和查找方法。内容涵盖单向链表、双向链表、循环链表、堆栈的实现、队列的实现、二叉树、图的表示和生成树算法、四大简单排序和三大复杂排序等,以及哈希法和多种查找算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

链表
堆栈
队列


排序
查找
哈希

链表:

单向链表双向链表循环链表

https://blog.youkuaiyun.com/LiQingBB/article/details/88386264

堆栈:

堆栈的实现(列表、链表)

加入、删除、遍历

https://blog.youkuaiyun.com/LiQingBB/article/details/88603961

队列:

队列的实现(列表、链表)

加入、删除、遍历

https://blog.youkuaiyun.com/LiQingBB/article/details/88603961

树型结构:

二叉(查找)树

二叉线索树

二叉树的遍历:前序遍历、中序遍历、后序遍历、层次遍历(BFS)

二查找叉树的删除(三种情况):删除叶节点、删除只有一个子节点的父节点、删除有两个子节点的父节点(取左子树中最大的或者右子树中最小的与之替代)。

优化查找二叉树:霍夫曼树、平衡树(不平衡的四种情况:LL,RR,LR,RL)

B树

https://blog.youkuaiyun.com/LiQingBB/article/details/88650049

图型结构:

有向图、无向图

表示方式(4种):邻接矩阵法、邻接链表法、邻接复合链表法(以边为核心)、索引表格法

生成树:BFS生成树、DFS生成树、最小生成树

最小生成树的两种算法: Kruskal算法(树相互融合的思想)、Prim算法(树插入节点的思想)

最短路径: Dijkstra算法

AOV网络与拓扑排序

AOE网络: 关键路径、最早时间、最晚时间、关键节点。

https://blog.youkuaiyun.com/LiQingBB/article/details/88716829

排序:

四大简单排序

冒泡排序(交换排序)
时间复杂度:最好情况为 O ( n ) O(n) O(n),平均为 O ( n 2 ) O(n^2) O(n2),最差为 O ( n 2 ) O(n^2) O(n2)
稳定排序。

选择排序
时间复杂度:最好情况为 O ( n 2 ) O(n^2) O(n2),平均为 O ( n 2 ) O(n^2) O(n2),最差为 O ( n 2 ) O(n^2) O(n2)
稳定排序

插入排序
时间复杂度:最好情况为 O ( n ) O(n) O(n),平均为 O ( n 2 ) O(n^2) O(n2),最差为 O ( n 2 ) O(n^2) O(n2)
稳定排序

希尔排序
时间复杂度:最好情况为 O ( n 3 / 2 ) O(n^{3/2}) O(n3/2),平均为 O ( n 3 / 2 ) O(n^{3/2}) O(n3/2),最差为 O ( n 3 / 2 ) O(n^{3/2}) O(n3/2)
稳定排序

三大复杂排序

快速排序
时间复杂度:最好情况为 O ( n l o g ( n ) ) O(nlog(n)) O(nlog(n)),平均为 O ( n l o g ( n ) ) O(nlog(n)) O(nlog(n)),最差为 O ( n 2 ) O(n^2) O(n2)
非稳定排序

堆积排序
时间复杂度:最好情况为 O ( n l o g ( n ) ) O(nlog(n)) O(nlog(n)),平均为 O ( n l o g ( n ) ) O(nlog(n)) O(nlog(n)),最差为 O ( n l o g ( n ) ) O(nlog(n)) O(nlog(n))
非稳定排序

基数排序
时间复杂度:最好情况为 O ( n l o g p ( k ) ) O(nlog_p(k)) O(nlogp(k)),平均为 O ( n l o g p ( k ) ) O(nlog_p(k)) O(nlogp(k)),最差为 O ( n l o g p ( k ) ) O(nlog_p(k)) O(nlogp(k)) k k k是最大的数, p p p是最大数的位数。
稳定排序

合并排序(归并排序)

时间复杂度:最好情况为 O ( n l o g ( n ) ) O(nlog(n)) O(nlog(n)),平均为 O ( n l o g ( n ) ) O(nlog(n)) O(nlog(n)),最差为 O ( n l o g ( n ) ) O(nlog(n)) O(nlog(n))
稳定排序
https://blog.youkuaiyun.com/LiQingBB/article/details/88733645

查找:

顺序查找

二分查找

插值查找

斐波那契查找

https://blog.youkuaiyun.com/LiQingBB/article/details/88734729

哈希法

常用哈希函数:留数取余法、平法取中法、折叠法、数字分析法

一般处理碰撞与溢出的方法:线性探测法、平方探测法、在哈希法、链表法

https://blog.youkuaiyun.com/LiQingBB/article/details/88734729

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值