Advanced Algorithms and Data Structures in Python

Posted By: Sigha

Advanced Algorithms and Data Structures in Python
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English (US) | Size: 2.28 GB | Duration: 10h 21m

Fenwick trees, Caches, Splay Trees, Prefix Trees (Tries), Substring-Search Algorithms and Travelling Salesman Problem

What you'll learn
Have a good grasp of algorithmic thinking
Be able to develop your own algorithms
Be able to detect and correct inefficient code snippets
Understand Fenwick trees
Understand caches (LRU caches and Splay Trees)
Understand tries and ternary search trees
Understand substring search algorithms (Rabin-Karp method, KMP algorithm and Z algorithm)
Understand the Hamiltonian cycle problem (and travelling salesman problem)
Understand Eulerian cycle problem

Requirements
Python basics
Some theoretical background (big O notation )

Description
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!

Who this course is for:
This course is suited for anyone who has some basic knowledge in Python and interested in algorithms and data structures




For More Courses Visit & Bookmark Your Preferred Language Blog
From Here: English - Français - Italiano - Deutsch - Español - Português - Polski - Türkçe - Русский