Advanced Algorithms and Data Structures in Python

所在平台: Udemy

课程主页: https://www.udemy.com/course/advanced-algorithms-python/

课程评论:没有评论

第一个写评论        关注课程

课程简介

**Coursera 课程《Python 高级算法与数据结构》内容摘要** 本课程专为对计算机科学感兴趣并希望用 Python 实现高级算法和数据结构的学生设计。每个章节都将深入讲解理论知识,并从零开始用 Python 进行代码实现。 **课程主要内容:** * **第一章:二叉索引树 (Fenwick 树)** * 讲解二叉索引树(Fenwick 树)的数据结构理论。 * 探讨二叉索引树在计算机视觉和人工智能中的应用。 * 提供 Python 实现。 * **第二章:LRU 缓存** * 介绍缓存的概念及其重要性。 * 展示如何使用双向链表实现缓存。 * 讲解 LRU(Least Recently Used)缓存的理论。 * 提供 Python 实现。 * **第三章:伸展树 (Splay Trees)** * 介绍伸展树的概念。 * 探讨如何利用伸展树实现缓存。 * **第四章:B-树** * 区分外部存储和内部存储(RAM)。 * 介绍外部存储适用的数据结构。 * 探讨多叉多键树。 * 讲解 B-树数据结构的原理。 * **第五章:前缀树 (Tries)** * 介绍前缀树(Tries)的概念。 * 展示前缀树的实际应用,如自动补全、按前缀排序和 IP 路由。 * **第六章:三元查找树 (Ternary Search Trees)** * 介绍三元查找树的概念。 * 通过 Boggle 游戏展示三元查找树的应用。 * **第七章:子串查找算法** * 讲解子串查找算法的重要性及其在实际软件中的应用。 * 介绍 KMP、Rabin-Karp(基于哈希)、朴素算法以及 Z 算法。 * 提供 Python 实现。 * **第八章:拓扑排序** * 讲解拓扑排序的概念。 * 演示如何使用深度优先搜索(DFS)实现拓扑排序。 * **第九章:环检测** * 介绍如何在图中检测环。 * **第十章:强连通分量 (Tarjan 算法)** * 讲解强连通分量的概念。 * 演示如何使用深度优先搜索(DFS)实现 Tarjan 算法。 * **第十一章:哈密顿回路(旅行商问题)** * 介绍图中的哈密顿回路。 * 讲解旅行商问题(TSP)的概念。 * 探讨如何使用回溯法解决 TSP。 * 介绍元启发式方法来优化算法。 * **第十二章:欧拉回路(中国邮递员问题)** * 介绍图中的欧拉回路。 * 讲解中国邮递员问题的概念。 (感谢参与本课程!)

课程评论(0条)

课程详情

This course is for those who are interested in computer science and want to implement the algorithms and given data structures in Python. In every chapter you will learn about the theory of a given data structure or algorithm and then you will implement them from scratch.Chapter 1: Binary Indexed Trees (Fenwick Trees)theory behind the binary indexed tree or Fenwick tree data structurehow to use this data structure in computer vision and artificial intelligenceimplementation in PythonChapter 2: LRU Caches what are caches and why are they so importanthow to use doubly linked lists to implement cachestheory behind LRU cachesimplementation in PythonChapter 3: Splay Treeswhat are splay treeshow to achieve caches with splay treesChapter 4: B-Treesexternal memory and internal memory (RAM)data structures for the external memorytrees with multiple children and multiple keyswhat are B-tree data structures?Chapter 5: Prefix Trees (Tries)what are tries or prefix treesreal world applications of triesautocomplete feature of triessorting with triesIP routingChapter 6: Ternary Search Treeswhat are ternary search treesboggle game with triesChapter 7: Substring Search Algorithmswhat are substring search algorithms and why are they important in real world softwaresbrute-force substring search algorithmhashing and Rabin-Karp methodKnuth-Morris-Pratt substring search algorithmZ substring search algorithm (Z algorithm)implementations in PythonChapter 8: Topological Orderingwhat is topological ordering (topological sort)?topological ordering implementation with depth-first searchChapter 9: Cycle Detectionhow to detect cycles in graphs?Chapter 10: Strongly Connected Components (Tarjan's Algorithm)what are strongly connected components?Tarjan's algorithm with depth-first searchChapter 11: Hamiltonian cycles (Travelling Salesman Problem)Hamiltonian cycles in graphswhat is the travelling salesman problem?how to use backtracking to solve the problemmeta-heuristic approaches to boost algorithmsChapter 12: Eulerian Cycles (Chinese Postman Problem)Eulerian cycles in graphswhat is the chinese postman problem?Thanks for joining my course, let's get started!

课程标签

0人关注该课程

主题相关的课程