Advanced Algorithms and Data Structures in Python
高级Python算法与数据结构
Fenwick trees, Caches, Splay Trees, Prefix Trees (Tries), Substring-Search Algorithms and Travelling Salesman Problem
费纳韦克树(Fenwick trees)、缓存(Caches)、伸展树(Splay Trees)、前缀树(Trie,也称为字典树或前缀 trie)、子串搜索算法(Substring-search algorithms)和旅行商问题(Traveling Salesman Problem)。
教程演示🔗
学生数量:2,945 个学生
上次更新时间:2022年1月
教程评分:4.8
教程语言:英语
教程字幕:中文、英语字幕
本课程包括:在移动设备和电视上观看、完整的永久访问权、2 篇文章、结业证书、1 个可下载资源、10.5 小时 长的随选视频字幕
学习内容
1、熟练掌握算法思维。
2、能够发展自己的算法。
3、能够检测并修正低效的代码片段。
4、理解费纳伍德树(Fenwick Tree)
5、理解缓存(包括Least Recently Used缓存(LRU Cache)和Splay Tree缓存)
6、”Understanding tries and ternary search trees” 的翻译是 “理解 trie 和三元搜索树”。
– Trie(也称为前缀树或字典树)是一种数据结构,用于存储和检索具有共同前缀的字符串集合。它通过将字符串分解为字符并沿着树的节点进行遍历,能够高效地查找、插入和删除字符串。
– 三元搜索树(Ternary Search Tree,TST),又名三叉搜索树,是一种自平衡的二叉搜索树,每个节点最多有三个子节点,分别代表值小于、等于和大于当前节点的键。这种数据结构支持快速的查找、插入和删除操作,但其性能取决于树的平衡程度。
7、理解子字符串搜索算法(Rabin-Karp方法、KMP算法和Z算法)
8、理解汉密尔顿回路问题(以及旅行商问题)
9、理解欧拉回路问题
要求
1、Python基础
2、一些理论背景(大O符号)
课程介绍
这门课程是为对计算机科学感兴趣并希望使用Python实现算法和数据结构的人设计的。在每一章中,你将学习给定数据结构或算法的理论,然后从头开始实现它们。
第1章:二进制索引树(斐波那契树)
介绍二进制索引树或斐波那契树数据结构的理论
如何在计算机视觉和人工智能中使用这种数据结构
Python实现
第2章:最近最少使用缓存(LRU缓存)
什么是缓存,为什么它们如此重要
如何使用双向链表实现缓存
LRU缓存的理论
Python实现
第3章:伸展树
什么是伸展树
如何使用伸展树实现缓存
第4章:B树
外部存储和内部存储(RAM)
外部存储的数据结构
具有多个子节点和多个键的树
什么是B树数据结构?
第5章:前缀树( trie)
什么是前缀树或trie
tries的实际应用
tries的自动完成功能
使用tries进行排序
IP路由
第6章:三元搜索树
什么是三元搜索树
与tries相关的Boggle游戏
第7章:子串搜索算法
什么是子串搜索算法,以及在实际软件中为何重要
暴力子串搜索算法
哈希和Rabin-Karp方法
Knuth-Morris-Pratt子串搜索算法
Z子串搜索算法(Z算法)
Python实现
第8章:拓扑排序
什么是拓扑排序(拓扑排序)?
使用深度优先搜索实现拓扑排序
第9章:环检测
如何在图中检测循环?
第10章:强连通分量(Tarjan算法)
什么是强连通分量?
使用深度优先搜索的Tarjan算法
第11章:汉密尔顿回路(旅行商问题)
图中的汉密尔顿回路
什么是旅行商问题?
如何使用回溯法解决该问题
元启发式方法提升算法性能
第12章:欧拉回路(中国邮递员问题)
图中的欧拉回路
什么是中国邮递员问题?
感谢加入我的课程,让我们开始吧!
“深入探索计算机科学:Python算法与数据结构之旅 – 从二进制索引树(斐波那契树)到汉密尔顿回路。章节涵盖理论讲解、实战实现,以及在AI和CV中的应用,提升搜索引擎排名,以自然流畅的方式掌握LRU缓存、伸展树、B树、Trie和三元搜索等核心概念。跟随我们,一步步解锁编程奥秘!”