Python中的高级算法和数据结构|Advanced Algorithms and Data Structures in Python

Fenwick树,缓存,扩展树,前缀树(尝试),子字符串搜索算法和旅行推销员问题
讲师: Holczer Balazs

双语资源中英文字幕学习课程,独家翻译制作,提供全部配套课程资料。全网最低价享受高品质课程资源,无限分享下载。

你将会学到什么?

  • 对算法思维有很好的把握
  • 能够开发自己的算法
  • 能够检测和纠正效率低下的代码片段
  • 了解Fenwick树
  • 了解缓存(LRU缓存和扩展树)
  • 了解尝试和三元搜索树
  • 了解子字符串搜索算法(Rabin-Karp法,KMP算法和Z算法)
  • 了解哈密顿循环问题(和旅行商问题)
  • 了解欧拉循环问题

课程内容

17 个章节 • 80 个讲座 • 总时长 10 小时 21 分钟

课程要求

  • Python基础知识
  • 一些理论背景(大O表示法)

课程说明

本课程面向那些对计算机科学感兴趣并希望在Python中实现算法和给定数据结构的人。在每一章中,你将学习一个给定的数据结构或算法的理论,然后你将从头开始实现它们。

第一章:二叉索引树 (Fenwick树)

  • 理论背后的二进制索引树或芬威克树的数据结构
  • 如何在计算机视觉和人工智能中使用这种数据结构
  • Python实现

第二章:LRU缓存

  • 什么是缓存,为什么它们如此重要
  • 如何使用双重链表来实现缓存
  • LRU缓存背后的理论
  • Python实现

第三章:四角树

  • 什么是张开的树
  • 如何实现缓存与张开树

第四章:B树

  • 外部存储器和内部存储器(RAM)
  • 外部存储器的数据结构
  • 具有多个子节点和多个键的树
  • 什么是b -树数据结构?

第5章:前缀树(尝试)

  • 什么是尝试或前缀树
  • 实际应用的尝试
  • 自动完成的尝试功能
  • 尝试排序
  • IP路由

第六章:三元搜索树

  • 什么是三元搜索树
  • 拼字游戏与尝试

第七章:子字符串搜索算法

  • 什么是子字符串搜索算法,为什么它们在现实世界的软件中很重要
  • 暴力子串搜索算法
  • 哈希和拉宾-卡普方法
  • Knuth-Morris-Pratt子字符串搜索算法
  • Z子串搜索算法(Z算法)
  • Python实现

第八章:拓扑排序

  • 什么是拓扑排序(拓扑排序)?
  • 拓扑排序实现深度优先搜索

第九章:周期检测

  • 如何检测图形中的循环?

第十章:强连通分量(Tarjan算法)

  • 什么是强连接组件?
  • 深度优先搜索的Tarjan算法

第十一章:哈密顿循环(旅行推销员问题)

  • 图中的哈密顿循环
  • 什么是旅行推销员问题?
  • 如何使用回溯来解决问题
  • 提升算法的元启发式方法

第十二章:欧拉循环(中国邮差问题)

  • 图中的欧拉循环
  • 中国邮差的问题是什么?

谢谢你参加我的课程,让我们开始吧!

此课程面向哪些人?

  • 本课程适合任何对Python有一些基本知识并对算法和数据结构感兴趣的人
声明:双语资源网(shuangyuziyuan.com)提供的所有课程、素材资源全部来源于互联网,用户赞助仅用于对双语资源服务器带宽及网站运营等费用支出做支持,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。