Python算法和数据结构面试指南
本课程是关于 数据结构、算法和图的。我们将用 Python 编程 语言来实现这些问题。我强烈建议您自己多次输入这些数据结构和算法,以便更好地掌握它
课程英文名:Algorithms and Data Structures in Python (INTERVIEW Q&A)
此视频教程共8.0小时,中英双语字幕,画质清晰无水印,源码附件全
下载地址
课程编号:124
百度网盘地址:https://pan.baidu.com/s/1BPQlDhv96MLcMbgmzGiiuA?pwd=f3v9
夸克网盘(不限速)地址:https://pan.quark.cn/s/48136b81ea4a
课程内容
那么你将在这门课程中学到什么?
第 1 节:
- 设置环境
- 数据结构和抽象数据类型的区别
第 2 节 - 数组:
- 什么是数组数据结构
- 数组相关的面试题
第 3 节 – 链表:
- 链表数据结构及其实现
- 双向链表
- 链表相关面试题
第 4 节 – 堆栈和队列:
- 堆栈和队列
- 栈内存和堆内存
- 堆栈内存是如何工作的?
- 堆栈和队列相关的面试问题
第 5 节 – 二叉搜索树:
- 什么是二叉搜索树
- 二叉搜索树的实际应用
- 二叉树的问题
第 6 节 – 平衡二叉树(AVL 树和红黑树):
- 为什么要使用平衡二叉搜索树
- AVL 树
- 红黑树
第 7 节 – 优先级队列和堆:
- 什么是优先队列
- 什么是堆
- 堆排序算法概述
第 8 节 – 散列和字典:
- 关联数组和字典
- 如何通过散列实现 O(1) 恒定运行时间
第 9 节 - 图遍历:
- 基本图算法
- 广度优先
- 深度优先搜索
- DFS 的堆栈内存可视化
第 10 节 – 最短路径问题(Dijkstra 和 Bellman-Ford 算法):
- 最短路径算法
- Dijkstra 算法
- 贝尔曼福特算法
- 如何发现外汇套利机会?
第 11 节 – 生成树(Kruskal 和 Prim 的方法):
- 什么是生成树
- 什么是 union-find 数据结构以及如何使用它
- Kruskal 的算法理论和实现
- Prim 算法
第 12 节——排序算法
- 排序算法
- 冒泡排序、选择排序和插入排序
- 快速排序和归并排序
- 基于非比较的排序算法
- 计数排序和基数排序
在课程的第一部分,我们将学习基本的 数据结构, 如链表、堆栈、队列、二叉搜索树、堆和一些高级的数据结构,如 AVL 树和红黑树。第二部分将是关于图算法,例如生成树、最短路径算法和图遍历。我们会尽量优化每一个数据结构。
在每一章中,我都会讲述每个算法或数据结构的理论背景,然后我们将一步一步地用 Python 编写代码。
大多数高级算法在很大程度上依赖于这些主题,因此绝对值得了解基础知识。这些原则可用于多个领域:投资银行、人工智能或股票市场的电子交易算法。研究机构主要使用 Python 作为编程语言:从机器学习到复杂网络,有很多库可供公众使用