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 作为编程语言:从机器学习到复杂网络,有很多库可供公众使用