课程介绍
http://www.ibeifeng.com/goods-544.html
这门课程是针对大数据工程师和云计算工程师的基础课程,同时也是所有计算机专业人士必须掌握的一门课程。
如果不掌握数据结构和算法,你将难以掌握高效、专业的数据处理手段,更难以从容应对复杂的大数据处理场景。
数据结构与算法在计算机学科和IT领域的重要性不言而喻。
其不仅仅是计算机专业人士应该掌握的一门基础课程,更是从事数据库、数据处理的从业人员应该熟练掌握的一门技术。
本课程针对大学数据结构课程通常过于理论化、实践性不强、知识及案例不新鲜的特点,针对大数据工程师和云计算工程师做了以下优化设计:
1.强调工程运用,尽量避免数学符号描述,但当采用数学符号描述语义更强时则积极采用并做详细讲解。
2.各种数据结构,突出工程实际需求,从实践中和成功运用的案例(如操作系统、数据库、大数据库处理框架、微博等)出发,引导出数据结构运用的场景,精准定位数据结构的价值,力求让学员能知识落地、学以致用。
3.针对难以理解的算法和某些极为重要的思想,如递归、分治策略等,采用PPT插图分解步骤、PPT勾画讲解、伪代码描述讲解、源代码注释讲解、源代码单步调试跟踪等手段,力求让学员能理解算法、掌握算法、运用算法。
4.为保证所引知识的专业性和考虑到实际大数据处理公司的日常研发、开发状态,所用参考资料主要为国际上口碑良好的英文书籍、论文、高级或自身开发人士的博客等,并配以中文解释,力求学员能够掌握尽可能专业的知识。
5.全程源码,重点突出,考虑学员熟练程度可能千差万别,所以采用Java这门流行的语言来描述并书写代码,力求让所有学员能看得懂、学得会。
主要内容
- 数据结构和算法概述
- 数组、链表、队列、栈等线性表
- 二叉树、BST、AVL树及二叉树的递归与非递归遍历
- B+树
- 跳表
- 图、图的存储、图的遍历
- 有向图、无向图、懒惰与积极的普利姆算法、克鲁斯卡尔算法及MST、单源最短路径问题及Dijkstra算法
- 并查集与索引式优先队列、二叉堆
- 遗传算法初步与TSP问题
- 内部排序(直接插入、选择、希尔、堆排序、快排、归并等)算法与实践中的优化
- 外部排序与优化(文件编码、数据编码、I/O方式与JVM特点、多线程、多路归并等)
- 哈希表、Trie树、倒排索引、分布式索引初步(Map-Reduce)
课程大纲
简介
- 第1讲:什么是数据结构?
- 第2讲:什么是算法?
线性表
- 第3讲:线性表(数组、链表、队列、栈)
- 第4讲:Linux work queue及JDK线程池
树
- 第5讲:非线性结构、树、二叉树
- 第6讲:平衡树、AVL树
- 第7讲:B+树与数据库索引
图
- 第8讲:图的概念与存储
- 第9讲:图的遍历
- 第10讲:最小生成树(MST)、Prim算法、Kruskal算法
- 第11讲:单源最短路径与Dijkstra算法
- 第12讲:用遗传算法近似求解TSP问题
排序
- 第13讲:选择排序、插入排序、希尔排序
- 第14讲:堆排序、优先队列
- 第15讲:快速排序及优化
- 第16讲:归并排序及优化
- 第17讲:归并排序与外部排序
- 第18讲:外部排序的优化及延伸
查找
第19讲:哈希表、二分查找、Trie树、Ternery树、搜索引擎与倒排索引、集中式索引与分布式索引、Map-Reduce初步
更多教程
教程不断整理更新中,以上截图仅供参考,如需了解更多视频教程的详细信息请到如下地址查看:
教程分类说明:https://itvideos.github.io/categories/