扫码下载「CSDN程序员学院APP」,1000+技术好课免费看
APP订阅课程,领取优惠,最少立减5元 ↓↓↓
![](https://img-blog.csdnimg.cn/20201202154019321.png)
订阅后:请点击此处观看视频课程
视频教程-Python数据结构与算法面试(上)-Python
学习有效期:永久观看
学习时长:1156分钟
学习计划:20天
难度:中
「口碑讲师带队学习,让你的问题不过夜」
![](https://img-bss.csdnimg.cn/20194494216546_51991.png?imageMogr2/auto-orient/thumbnail/150x150!/format/png)
讲师姓名:李宁
技术总监/研发总监
讲师介绍:东北大学计算机专业硕士研究生,欧瑞科技创始人&CEO,曾任国内著名软件公司项目经理,畅销书作者,企业IT内训讲师,CSDN学院专家讲师,制作视频课程超过1000小时。拥有超过15年的企业内训经验和开发经验。目前主要从事Python、人工智能、大数据、区块链、JavaScript、Java、C++等技术的研究和开发,现在正在带领团队开发支持区块链的跨平台开发系统。曾出版超过30多本IT畅销书,主要著作包括《Python从菜鸟到高手》、《第一行代码:以太坊》等。授课风趣幽默,讲解条理清晰、通俗易懂,对知识有自己独到见解。能举一反三,发散学生的思维,指引学生发掘适合自己的学习方法。
☛点击立即跟老师学习☚
「你将学到什么?」
本课程使用Python 3.7进行讲解,更高的Python版本仍然可用。 本课程的程序适合于Windows、macOS和Linux平台。学员不必纠结操作系统平台和Python的版本。Python是跨平台的。从Python3.5开始,兼容性非常高。
《Python数据结构与算法面试》系列课程不仅详细讲解了数据结构的核心知识点,也同样可以用于相关领域的面试准备,因为本系列课程中包含了大量各大厂的面试原题,以及经过改进的题目。
这一系列课程主要包括如下内容
递归、数组、字符串、栈、队列和双端队列、链表、树、优先级队列、映射、哈希表和跳跃表、搜索树、排序与选择、文本处理、图
「课程学习目录」
第1章:递归 |
1.通过阶乘算法深入了解递归原理 |
2.斐波那契数列的实现与改进 |
3.绘制英式标尺 |
4.二分查找(递归) |
5.二分查找(非递归) |
6.递归列出指定目录中的子目录和文件 |
7.基于递归的整数幂的算法 |
8.使用二路递归和单路递归计算序列元素之和 |
9.消除尾递归 |
10.计算数字列表的和 |
11.将整数转换为任意进制表示的字符串 |
12.海龟作图 |
13.用递归的方法绘制小树 |
14.让树叶变绿 |
15.谢尔宾斯基三角形 |
16.汉诺塔传说 |
17.探索迷宫 |
18.最少货币找零数量 |
第2章:数组 |
1.Python中的数组 |
2.实现动态数组 |
3.向Python列表添加元素的尺寸增量 |
4.向Python列表添加元素的时间消耗 |
5.存储游戏积分 |
6.插入排序(数组排序) |
7.凯撒密码 |
8.在数组中找出重复的数字(用空间换时间) |
9.在数组中找出重复的数字(累加求和法) |
10.在数组中找出重复的数字(异或法) |
11.在数组中找出重复的数字(数据映射法) |
12.在数组中找出重复的数字(环形相遇法) |
13.查找数组中元素的最大值和最小值(分治法) |
14.查找数组中元素的最大值和最小值(递归法) |
15.找出旋转数组的最小元素 |
16.生成旋转数组 |
17.找出数组中丢失的数(求和法) |
18.找出数组中丢失的数(异或法) |
19.找出字典中出现奇数次的数(字典法) |
20.找出字典中出现奇数次的数(异或法) |
21.在数组中找到第k大的数 |
22.计算数组中两个元素的最大距离和最小距离(暴力法) |
23.计算数组中两个元素的最大距离和最小距离(动态规划法) |
24.计算最小三元组距离(蛮力法) |
25.计算最小三元组距离(最小值法) |
26.求数组中绝对值最小的数(顺序比较法) |
27.求数组中绝对值最小的数(二分法) |
28.求数组连续最大和及对应的子数组(蛮力法) |
29.求数组连续最大和及对应的子数组(重复利用计算结果) |
30.求数组连续最大和(动态规划法) |
第3章:字符串 |
1.搜索子字符串 |
2.KMP算法原理与实践 |
3.字符串全排列(递归) |
4.字符串全排列(非递归) |
5.去除全排列中重复的序列 |
6.求两个字符串的最长公共子字符串(动态规划法) |
7.反转字符串(交换变量法) |
8.反转字符串(异或法) |
9.反转字符串中的单词 |
10.判断两个字符串是否为换位字符串 |
11.判断两个字符串的包含关系(直接比较法) |
12.判断两个字符串的包含关系(空间换时间) |
13.对仅由大小写字母组成的字符串进行排序 |
14.移除字符串中内嵌的括号 |
15.求最长回文字符串(动态规划法) |
16.求最长回文字符串(中心扩展法) |
17.按给定的字母顺序对字符串数组排序 |
18.判断字符串中是否包含重复字符(蛮力法) |
19.判断字符串中是否包含重复字符(空间换时间) |
20.找到由其他单词组成的最长单词 |
第4章:栈和队列 |
1.基于数组的队列 |
2.使用栈将文件中的行逆序 |
3.匹配表达式中的括号 |
4.匹配HTML代码中的标签 |
5.基于数组的队列 |
第5章:链表 |
1.为什么需要链表 |
2.创建和输出链表 |
3.向链表添加尾节点 |
4.让添加尾节点的时间复杂度变为常量 |
5.在链表的任意位置插入节点 |
6.移除首节点 |
7.移除尾节点 |
8.移除任意节点 |
9.搜索任意节点 |
10.搜索并删除节点 |
11.编写链表类(1):添加节点 |
12.编写链表类(2):移除节点 |
13.编写链表类(3):搜索和移除节点 |
14.实现基于链表的栈 |
15.实现基于链表的队列 |
16.循环链表(1):添加节点 |
17.循环链表(2):移除节点 |
18.循环链表(3):搜索节点 |
19.循环链表(4):搜索并移除节点 |
20.基于循环链表的队列 |
21.双向链表(1):从前往后打印和从后往前打印 |
22.双向链表(2):插入节点 |
23.双向链表(3):删除节点 |
24.双向链表(4):搜索并删除节点 |
25.用双向链表实现双端队列 |
第6章:与链表相关的算法 |
1.用递归的方式逆序单链表 |
2.用非递归的方式逆序单链表 |
3.移除未排序单链表中重复的节点(递归) |
4.移除未排序单链表中重复的节点(非递归) |
第7章:树 |
1.树和二叉树 |
2.创建二叉树 |
3.遍历二叉树(前序遍历、中序遍历和后序遍历) |
4.把有序的整数数组转换为二叉树 |
5.广度优先遍历二叉树 |
6.二叉树的最大子树和 |
7.判断二叉树是否相等 |
8.将排序二叉树转换为有序的双向链表 |
9.判断数组是否为二叉排序树的后序遍历序列 |
「7项超值权益,保障学习质量」
- 大咖讲解
技术专家系统讲解传授编程思路与实战。
- 答疑服务
专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。
- 课程资料+课件
超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解)
- 常用开发实战
企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。
- 大牛技术大会视频
2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。
- APP+PC随时随地学习
满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。
「什么样的技术人适合学习?」
- 想进入互联网技术行业,但是面对多门编程语言不知如何选择,0基础的你
- 掌握开发、编程技术单一、冷门,迫切希望能够转型的你
- 想进入大厂,但是编程经验不够丰富,没有竞争力,程序员找工作难。
「悉心打造精品好课,20天学到大牛3年项目经验」
【完善的技术体系】
技术成长循序渐进,帮助用户轻松掌握
掌握Python知识,扎实编码能力
【清晰的课程脉络】
浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。
【仿佛在大厂实习般的课程设计】
课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。
「你可以收获什么?」
学会如何用Python语言设计算法
掌握数据结构的核心知识
充分准备面试
提高编码能力