![4bebe27861d35d176f5a89701cb3e612.png](https://i-blog.csdnimg.cn/blog_migrate/0d2bdd26298025c54400b71b4805108e.jpeg)
一、基础篇
1.1 Python语言编程导论
本节主要介绍什么是python语言,它有什么用、能做什么,相比其他语言它有什么优势,以及它的发展历史与最新的应用成果。
1.2 Python编程环境搭建和规范
本节主要介绍如何搭建python编译和运行环境、python的代码结构以及python编码规范。
1.3 Python基础语法介绍
本节主要介绍python的一些基础语法知识,主要包括变量和常量、数据类型、类型间的转换以及如何使用帮助文档。
1.4 Python运算符与表达式,及数的编码
本节主要介绍运算符与表达式,以及计算机中如何表示整型、浮点型和字符,即所谓的编码方式。
1.5 Python流程控制
本节主要介绍流程控制,主要是条件语句、循环语句和跳转语句。
1.6 Python的模块与函数
本节主要介绍模块和函数的使用,以及如何使用递归。
1.7 Python字符串
本节主要介绍字符串的使用。
1.8 Python数据结构
本节主要介绍序列、元组、列表、字典和集合这几种数据结构。
1.9 Python文件处理
本节主要介绍如何操作文件进行数据存储和读取,以及如何利用Python提供的os、os.path、shutil等模块处理文件。
1.10 Python异常处理与程序调试
本节主要介绍Python提供的异常处理结构,以及如何进行调试。
1.11 Python正则表达式
本节主要介绍Python提供的re模块实现正则表达式的验证。。
1.12 Python面向对象编程
本节主要介绍python面向对象知识。
二、算法设计与数据结构
2.1 数据结构与算法-引言
本节主要介绍算法与数据结构中的一些基本概念,以及评价指标。
2.2 线性表(一)
本节主要介绍线性表的类型定义、线性表的顺序表示和实现、线性表的链式表示和实现。线性表的链式表示和实现主要讲述线性链表、循环链表和双向链表。
2.3 线性表(二)
本小节主要涉及数组和链表的一些基本应用,主要为查找、插入、删除、翻转、合并,将结合一些实例进行讲解。
2.4 线性列表(三)
本小节主要介绍数组和链表的一些高级应用,比如快慢指针、交叉链表,将结合一些实例进行讲解。
2.5 栈与队列
本小节主要介绍两种特殊的线性表栈和队列的定义和应用场景,以及具体实现。
2.6 栈与队列(二)
本小节主要介绍栈与队列的基本应用,将结合实例进行讲解。
2.7 栈与队列(三)
本小节将介绍栈与队列的一些高级应用,主要涉及队列与栈的相互实现,最小值堆,递归的栈实现,以及中缀转后缀表达式。将结合实例进行讲解。
2.8 广义表
本节主要介绍广义表的定义和存储结构。
2.9 树与二叉树
本节主要介绍树与二叉树的一些基本概念,以及如何进行表示、存储和遍历。
2.10 树与二叉树(二)
本小节主要介绍二叉树的遍历和二叉树的创建,以及如何求取树的深度、叶子数。
2.11 树与二叉树(三)
本节主要介绍二叉树的一些高级用法,主要分为哈夫曼编码、中缀表达式转后缀表达式、共同祖先和卡特兰数。
2.12 二叉搜索树BST
本节主要介绍二叉树搜索树的构建、查找、插入和删除操作。
2.13 字典树Trie
本节主要介绍字典树Trie的构建、查找和插入操作。
2.14 平衡树
本节主要介绍什么是平衡树,为什么AVL树和红黑树能保持树的平衡,以及重点介绍红黑树如何实现,以及红黑树的扩展区间树。
2.15 图的基本概念和遍历
本节主要介绍图的基本概念,存储方式,以及图的深度遍历和广度遍历。
2.16 图的连通性
本节主要介绍如何求取图的连通分量。
2.17 最小生成树
本小节主要介绍最小生成树的基本概念,以及用来创建最小生成树的“加点算法”Prim算法和“加边算法”Kruskal算法。
2.18 有向无环图及其应用
本小节介绍有向无环图及其应用,主要介绍定点活动图AOV和边活动图AOE,以及利用DFS对它们进行拓扑排序和求关键路径。
2.19 最短路径
本小节介绍如何求取网中的最短路径,以及求取的两种典型算法,Dijkstra算法和Floyd算法。
2.20 最大流
本节将介绍一些含环路的图应用,主要是最大流以及求网络中最大流的典型算法Ford-Fulkerson方法、Dinic算法和前置推送-标签重贴方法。
2.21 回路
本节将介绍一些关于回路的知识,主要是欧拉回路与哈密尔顿回路,以及如何判断回路存在的基本算法。
2.22 内部排序
本节将介绍一些内排序的知识,主要包括插入排序、交换排序、选择排序、归并排序和基数排序等基本算法和实现。
2.23 外部排序
本节将介绍一些外部排序的知识,以及如何使用败者树来进行k路外排序。
2.24 查找(1)
本节将介绍一些查找的理论知识。
2.25 查找(2)
本节将介绍一些查找的实际应用。
2.26 分治法
本节将介绍五大基本算法中的分治法,并结合一些实际应用进行讲解。
2.27 动态规划
本节将介绍五大基本算法中的动态规划算法,并结合一些实际应用进行讲解。
2.28 贪心法
本节将介绍五大基本算法中的贪心法,并结合一些实际应用进行讲解。
2.29 回溯法
本节将介绍五大基本算法中的回溯法,并结合一些实际应用进行讲解。
2.30 分支限界法
本节介绍五大基本算法最后一个算法分治界限法以及它的应用。类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。
2.31 字符串相关算法
在前面的章节我们已经学习过如何使用字符串,比如字符串的查找,匹配,拼接,分割等,也学过正则表达式查找。在这一节中,将详细讲述这些实现的一些底层技术,从另一个角度去认识字符串。
三、爬虫
3.1 爬虫初步:入门与介绍
这一章节主要介绍一些学习爬虫的缘由和学习的大致思路。
3.2初识HTML页面
这一章节主要是对html、css、js和http进行一个简单介绍