Recursion, Backtracking and Dynamic Programming in Python

th_CaDcns1lcANCtwgXFbe69FlIUhK8Uusx

通过 Python 中的示例和问题学习递归、回溯、分而治之方法和动态编程。

本课程是关于算法问题的基本概念,重点是递归、回溯、动态规划和分治法。就我而言,这些技术如今非常重要,算法可以在从软件工程到投资银行或研发的多个领域中使用(并有多种应用)。

第 1 节 – 递归

什么是递归和递归方法

堆栈内存和堆内存概述

什么是堆栈溢出?

斐波那契数列

阶乘函数

河内塔问题

第 2 节 – 搜索算法

线性搜索方法

二分查找算法

第 3 节 – 选择算法

什么是选择算法?

如何在 O(N) 线性运行时间中找到第 k 阶统计信息?

快速选择算法

中位数算法

秘书问题

第 4 节 – 回溯

什么是回溯?

n-皇后问题

哈密​​顿循环问题

着色问题

骑士之旅问题

迷宫问题

第 5 节 – 动态编程

什么是动态规划?

背包问题

杆切割问题

子集和问题

第 6 节 – 最佳包装

什么是最佳包装?

装箱问题

第 7 节 – 分而治之的方法

什么是分而治之的方法?

动态规划和分治法

如何使用归并排序在 O(NlogN) 中实现排序?

最近点对问题

在每一节中,我们将讨论所有这些算法的理论背景,然后我们将在 Python 中从头开始实现这些问题。

Learn Recursion, Backtracking, Divide and Conquer Methods and Dynamic programming via Examples and Problems in Python

MP4 | Video: h264, 1280×720 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English + srt | Duration: 91 lectures (9h 9m) | Size: 1.33 GB


What you’ll learn:
Understanding recursion
Understand backtracking
Understand dynamic programming
Understand divide and conquer methods
Implement 15+ algorithmic problems from scratch
Improve your problem solving skills and become a stronger developer

Requirements
Basic Python

Description
This course is about the fundamental concepts of algorithmic problems focusing on recursion, backtracking, dynamic programming and divide and conquer approaches. As far as I am concerned, these techniques are very important nowadays, algorithms can be used (and have several applications) in several fields from software engineering to investment banking or R&D.

Section 1 – RECURSION

what are recursion and recursive methods

stack memory and heap memory overview

what is stack overflow?

Fibonacci numbers

factorial function

tower of Hanoi problem

Section 2 – SEARCH ALGORITHMS

linear search approach

binary search algorithm

Section 3 – SELECTION ALGORITHMS

what are selection algorithms?

how to find the k-th order statistics in O(N) linear running time?

quickselect algorithm

median of medians algorithm

the secretary problem

Section 4 – BACKTRACKING

what is backtracking?

n-queens problem

Hamiltonian cycle problem

coloring problem

knight’s tour problem

maze problem

Section 5 – DYNAMIC PROGRAMMING

what is dynamic programming?

knapsack problem

rod cutting problem

subset sum problem

Section 6 – OPTIMAL PACKING

what is optimal packing?

bin packing problem

Section 7 – DIVIDE AND CONQUER APPROACHES

what is the divide and conquer approach?

dynamic programming and divide and conquer method

how to achieve sorting in O(NlogN) with merge sort?

the closest pair of points problem

In each section we will talk about the theoretical background for all of these algorithms then we are going to implement these problems together from scratch in Python.

Thanks for joining the course, let’s get started!

Who this course is for
This course is meant for newbies who are not familiar with algorithmic problems in the main or students looking for some refresher
Anyone preparing for programming interviews or interested in improving their problem solving skills

资源下载此资源仅限VIP下载,请先
本站资源仅限VIP会员下载点击购买VIP会员

原创文章,作者:steven,如若转载,请注明出处:https://rr3d.cn/19939.html

赞 (0)
steven的头像steven
上一篇 2021年9月26日
下一篇 2021年9月26日

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部