Advanced Algorithms and Data Structures in Python (2021)
芬威克树,缓存,展树,前缀树(尝试),子串搜索算法和旅行推销员问题

你会学到什么

很好地掌握算法思维
能够开发自己的算法
能够检测并纠正低效的代码片段
了解芬威克树
了解缓存(LRU缓存和显示树)
理解尝试和三元搜索树
了解子串搜索算法(拉宾-卡普法、KMP算法和Z算法)
理解哈密顿圈问题(和旅行推销员问题)
理解欧拉循环问题

视频:. mp4 (1280×720,30 fps(r)) |音频:aac,44100 Hz,2ch |大小解压后:2.3 GB
语言:英语+中英文字幕(云桥CG资源站 机译) |时长:68节课(8小时36分钟)

要求

Python基础知识
一些理论背景(大O符号)

描述

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

第1章:二元索引树(芬威克树)

二元索引树或芬威克树数据结构背后的理论

如何在计算机视觉和人工智能中使用这种数据结构

Python中的实现

第二章:LRU贮藏处

什么是缓存,为什么它们如此重要

如何使用双向链表实现缓存

LRU隐藏背后的理论

Python中的实现

第3章:展开树

什么是八字形树

如何用展宽树实现缓存

第四章:二叉树

外部存储器和内部存储器

外部存储器的数据结构

具有多个子级和多个键的树

什么是B树数据结构?

第5章:前缀树(尝试)

什么是尝试树或前缀树

try的真实应用

尝试的自动完成功能

尝试排序

IP路由

第6章:三元搜索树

什么是三元搜索树

尝试游戏

第7章:子串搜索算法

什么是子串搜索算法,为什么它们在现实软件中很重要

蛮力子串搜索算法

散列法和拉宾-卡普法

克努特-莫里斯-普拉特子串搜索算法

子串搜索算法

Python中的实现

第八章:哈密顿圈(旅行推销员问题)

图中的哈密顿圈

旅行推销员的问题是什么?

如何用回溯法解决这个问题

提升算法的元启发式方法

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

图中的欧拉圈

中国邮递员的问题是什么?

感谢您加入我的课程,让我们开始吧!

这门课是给谁上的:

本课程适合任何对Python有一些基础知识并对算法和数据结构感兴趣的人

Video: .mp4 (1280×720, 30 fps(r)) | Audio: aac, 44100 Hz, 2ch | Size: 2.16 GB
Genre: eLearning Video | Duration: 68 lectures (8 hour, 36 mins) | Language: English
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 structure

how to use this data structure in computer vision and artificial intelligence

implementation in Python

Chapter 2: LRU Caches

what are caches and why are they so important

how to use doubly linked lists to implement caches

theory behind LRU caches

implementation in Python

Chapter 3: Splay Trees

what are splay trees

how to achieve caches with splay trees

Chapter 4: B-Trees

external memory and internal memory (RAM)

data structures for the external memory

trees with multiple children and multiple keys

what are B-tree data structures?

Chapter 5: Prefix Trees (Tries)

what are tries or prefix trees

real world applications of tries

autocomplete feature of tries

sorting with tries

IP routing

Chapter 6: Ternary Search Trees

what are ternary search trees

boggle game with tries

Chapter 7: Substring Search Algorithms

what are substring search algorithms and why are they important in real world softwares

brute-force substring search algorithm

hashing and Rabin-Karp method

Knuth-Morris-Pratt substring search algorithm

Z substring search algorithm (Z algorithm)

implementations in Python

Chapter 8: Hamiltonian cycles (Travelling Salesman Problem)

Hamiltonian cycles in graphs

what is the travelling salesman problem?

how to use backtracking to solve the problem

meta-heuristic approaches to boost algorithms

Chapter 9: Eulerian Cycles (Chinese Postman Problem)

Eulerian cycles in graphs

what 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
云桥CG资源站 为三维动画制作,游戏开发员、影视特效师等CG艺术家提供视频教程素材资源!