目录

  • 1 大数据就是这么任性
    1. 1.数据结构介绍1

      00:23:45

    2. 2.数据结构介绍2

      00:15:20

    3. 3.算法介绍1

      00:19:59

    4. 4.算法介绍2

      00:19:59

    5. 5.算法介绍3

      00:18:53

    6. 6.算法介绍4

      00:15:30

    7. 7.线性表_顺序_链式_Skiplist1

      00:19:59

    8. 8.线性表_顺序_链式_Skiplist2

      00:18:22

    9. 9.线性表_顺序_链式_Skiplist3

      00:22:16

    10. 10.线性表_顺序_链式_Skiplist4

      00:18:21

    11. 11.线性表_顺序_链式_Skiplist5

      00:20:43

    12. 12.线性表_顺序_链式_Skiplist6

      00:12:06

    13. 13.新_数组_队列_栈_LinuxWQ_JDK_ThreadPool_WQ1

      00:19:59

    14. 14.新_数组_队列_栈_LinuxWQ_JDK_ThreadPool_WQ2

      00:19:16

    15. 15.新_数组_队列_栈_LinuxWQ_JDK_ThreadPool_WQ3

      00:19:59

    16. 16.新_数组_队列_栈_LinuxWQ_JDK_ThreadPool_WQ4

      00:20:30

    17. 17.新_数组_队列_栈_LinuxWQ_JDK_ThreadPool_WQ5

      00:20:26

    18. 18.新_数组_队列_栈_LinuxWQ_JDK_ThreadPool_WQ6

      00:20:47

    19. 19.新_数组_队列_栈_LinuxWQ_JDK_ThreadPool_WQ7

      00:16:49

    20. 20.非线性结构_树_二叉搜索树1

      00:19:59

    21. 21.非线性结构_树_二叉搜索树2

      00:19:59

    22. 22.非线性结构_树_二叉搜索树3

      00:20:46

    23. 23.非线性结构_树_二叉搜索树4

      00:19:59

    24. 24.非线性结构_树_二叉搜索树5

      00:20:25

    25. 25.非线性结构_树_二叉搜索树6

      00:18:53

    26. 26.非线性结构_树_二叉搜索树7

      00:20:12

    27. 27.非线性结构_树_二叉搜索树8

      00:20:08

    28. 28.非线性结构_树_二叉搜索树9

      00:20:39

    29. 29.非线性结构_树_二叉搜索树10

      00:19:58

    30. 30.非线性结构_树_二叉搜索树11

      00:18:07

    31. 31.非线性结构_树_AVL树1

      00:19:59

    32. 32.非线性结构_树_AVL树2

      00:19:59

    33. 33.非线性结构_树_AVL树3

      00:19:59

    34. 34.非线性结构_树_AVL树4

      00:19:59

    35. 35.非线性结构_树_AVL树5

      00:19:59

    36. 36.非线性结构_树_AVL树6

      00:20:17

    37. 37.非线性结构_树_AVL树7

      00:13:37

    38. 38.新非线性结构_树_B 树1

      00:20:19

    39. 39.新非线性结构_树_B 树2

      00:19:59

    40. 40.新非线性结构_树_B 树3

      00:19:59

    41. 41.新非线性结构_树_B 树4

      00:19:59

    42. 42.新非线性结构_树_B 树5

      00:08:06

    43. 43.数据结构和算法_图_图的含义和存储1

      00:19:59

    44. 44.数据结构和算法_图_图的含义和存储2

      00:19:59

    45. 45.数据结构和算法_图_图的含义和存储3

      00:19:59

    46. 46.数据结构和算法_图_图的遍历1

      00:20:56

    47. 47.数据结构和算法_图_图的遍历2

      00:20:32

    48. 48.数据结构和算法_图_图的遍历3

      00:13:28

    49. 49.数据结构和算法_图_图的遍历4

      00:19:59

    50. 50.数据结构和算法_图_图的遍历5

      00:21:27

    51. 51.数据结构和算法_图_最小生成树(MST)1

      00:19:53

    52. 52.数据结构和算法_图_最小生成树(MST)2

      00:19:59

    53. 53.数据结构和算法_图_最小生成树(MST)3

      00:19:59

    54. 54.数据结构和算法_图_最小生成树(MST)4

      00:19:59

    55. 55.数据结构和算法_图_最小生成树(MST)5

      00:16:22

    56. 56.数据结构和算法_图_单源最短路径Dijkstra1

      00:19:59

    57. 57.数据结构和算法_图_单源最短路径Dijkstra2

      00:19:59

    58. 58.数据结构和算法_图_单源最短路径Dijkstra3

      00:21:38

    59. 59.数据结构和算法_图_单源最短路径Dijkstra4

      00:19:59

    60. 60.数据结构和算法_图_单源最短路径Dijkstra5

      00:17:55

    61. 61.数据结构和算法_图_遗传算法解TSP1

      00:19:59

    62. 62.数据结构和算法_图_遗传算法解TSP2

      00:20:28

    63. 63.数据结构和算法_图_遗传算法解TSP3

      00:20:25

    64. 64.数据结构和算法_图_遗传算法解TSP4

      00:17:32

    65. 65.数据结构和算法_排序_选择_插入_希尔1

      00:19:59

    66. 66.数据结构和算法_排序_选择_插入_希尔2

      00:19:59

    67. 67.数据结构和算法_排序_选择_插入_希尔3

      00:20:41

    68. 68.数据结构和算法_排序_选择_插入_希尔4

      00:19:59

    69. 69.数据结构和算法_排序_选择_插入_希尔5

      00:19:59

    70. 70.数据结构和算法_排序_选择_插入_希尔6

      00:16:14

    71. 71.数据结构和算法_排序_堆排序及优先队列1

      00:19:58

    72. 72.数据结构和算法_排序_堆排序及优先队列2

      00:19:59

    73. 73.数据结构和算法_排序_堆排序及优先队列3

      00:19:59

    74. 74.数据结构和算法_排序_堆排序及优先队列4

      00:19:59

    75. 75.数据结构和算法_排序_堆排序及优先队列5

      00:14:04

    76. 76.数据结构和算法_排序_快速排序及优化1

      00:19:59

    77. 77.数据结构和算法_排序_快速排序及优化2

      00:19:59

    78. 78.数据结构和算法_排序_快速排序及优化3

      00:19:59

    79. 79.数据结构和算法_排序_快速排序及优化4

      00:20:52

    80. 80.数据结构和算法_排序_快速排序及优化5

      00:19:59

    81. 81.数据结构和算法_排序_快速排序及优化6

      00:19:59

    82. 82.数据结构和算法_排序_快速排序及优化7

      00:19:59

    83. 83.数据结构和算法_排序_快速排序及优化8

      00:15:37

    84. 84.据结构和算法_排序_归并排序(内部排序)及其优化1

      00:19:59

    85. 85.据结构和算法_排序_归并排序(内部排序)及其优化2

      00:19:59

    86. 86.据结构和算法_排序_归并排序(内部排序)及其优化3

      00:19:59

    87. 87.据结构和算法_排序_归并排序(内部排序)及其优化4

      00:19:59

    88. 88.据结构和算法_排序_归并排序(内部排序)及其优化5

      00:25:36

    89. 89.数据结构和算法_排序_归并排序(外部排序)1

      00:19:59

    90. 90.数据结构和算法_排序_归并排序(外部排序)2

      00:19:59

    91. 91.数据结构和算法_排序_归并排序(外部排序)3

      00:20:14

    92. 92.数据结构和算法_排序_归并排序(外部排序)4

      00:20:27

    93. 93.数据结构和算法_排序_归并排序(外部排序)5

      00:07:58

    94. 94.数据结构和算法_排序_外部排序的延伸和优化1

      00:19:59

    95. 95.数据结构和算法_排序_外部排序的延伸和优化2

      00:19:58

    96. 96.数据结构和算法_排序_外部排序的延伸和优化3

      00:19:59

    97. 97.数据结构和算法_排序_外部排序的延伸和优化4

      00:19:59

    98. 98.数据结构和算法_排序_外部排序的延伸和优化5

      00:19:59

    99. 99.数据结构和算法_排序_外部排序的延伸和优化6

      00:19:59

    100. 100.数据结构和算法_排序_外部排序的延伸和优化7

      00:19:59

    101. 101.数据结构和算法_排序_外部排序的延伸和优化8

      00:11:53

    102. 102.数据结构和算法_查找与搜索1

      00:20:14

    103. 103.数据结构和算法_查找与搜索2

      00:20:20

    104. 104.数据结构和算法_查找与搜索3

      00:20:02

    105. 105.数据结构和算法_查找与搜索4

      00:19:59

    106. 106.数据结构和算法_查找与搜索5

      00:19:59

    107. 107.数据结构和算法_查找与搜索6

      00:16:40

    108. 108.数据结构和算法_查找与搜索7

      00:23:59

    109. 109.数据结构和算法_查找与搜索8

      00:12:09

    110. 110.数据结构和算法_查找与搜索9

      00:19:59

    111. 111.数据结构和算法_查找与搜索10

      00:11:59

大数据就是这么任性-大数据必备的数据结构与算法

1014人在学
公众号二维码

公众号

小程序二维码

小程序

课程详情

我要提问

 

 

这门课程是针对大数据工程师和云计算工程师的基础课程,同时也是所有计算机专业人士必须掌握的一门课程。

如果不掌握数据结构和算法,你将难以掌握高效、专业的数据处理手段,更难以从容应对复杂的大数据处理场景。

请思考以下问题:

1、社交网站(如微博、facebook)中,人与人的关系是海量数据,你如何研究和处理此问题?

2、数据库的索引作用是什么?为什么利用哈希、B+树和堆表等数据结构来组织索引?

3、为什么Linux的虚拟内存管理模块,使用红黑树来处理VMA的查找?

4、为什么搜索引擎可以在毫秒级返回搜索结果?

5、你如何设计城市道路,保证最小的代价却可以实现全城连通?

 

如果你对以上问题还摸不着头脑,或者你的方案还似是而非,那么,这门课程就是为你而准备的。

学习本门课程,你将不仅能回答以上问题,你还可以回答:

1、HBase中为何使用BloomFilter算法来处理Block是否已在缓存的问题。

2、ZooKeeper中为何采用树和节点的概念来描述分布式系统的依赖与协调关系。

3、LevelDB为何采用跳表与LSM树结构来优化性能。

此外,数据结构和算法中很多经典的思想非常值得理解和借鉴,对对计算机行业有强烈兴趣的人士亦有裨益。

 

 

一、课程研发环境

操作系统:Linux CentOS 7

IDE:IntelliJ IDEA 14

主要参考资料:普林斯顿算法第4版英文版、算法导论第3版英文版

其它参考资料:Linux内核源码、JDK源码、wiki英文站等

描述语言:Java

 

二、课程内容简介

数据结构与算法在计算机学科和IT领域的重要性不言而喻。

其不仅仅是计算机专业人士应该掌握的一门基础课程,更是从事数据库、数据处理的从业人员应该熟练掌握的一门技术。

本课程针对大学数据结构课程通常过于理论化、实践性不强、知识及案例不新鲜的特点,针对大数据工程师和云计算工程师做了以下优化设计:

1.强调工程运用,尽量避免数学符号描述,但当采用数学符号描述语义更强时则积极采用并做详细讲解。

2.各种数据结构,突出工程实际需求,从实践中和成功运用的案例(如操作系统、数据库、大数据库处理框架、微博等)出发,引导出数据结构运用的场景,精准定位数据结构的价值,力求让学员能知识落地、学以致用。

3.针对难以理解的算法和某些极为重要的思想,如递归、分治策略等,采用PPT插图分解步骤、PPT勾画讲解、伪代码描述讲解、源代码注释讲解、源代码单步调试跟踪等手段,力求让学员能理解算法、掌握算法、运用算法。

4.为保证所引知识的专业性和考虑到实际大数据处理公司的日常研发、开发状态,所用参考资料主要为国际上口碑良好的英文书籍、论文、高级或自身开发人士的博客等,并配以中文解释,力求学员能够掌握尽可能专业的知识。

5.全程源码,重点突出,考虑学员熟练程度可能千差万别,所以采用Java这门流行的语言来描述并书写代码,力求让所有学员能看得懂、学得会。

 

三、课程主要内容:

1.数据结构和算法概述

2.数组、链表、队列、栈等线性表

3.二叉树、BST、AVL树及二叉树的递归与非递归遍历

4.B+树

5.跳表

6.图、图的存储、图的遍历

7.有向图、无向图、懒惰与积极的普利姆算法、克鲁斯卡尔算法及MST、单源最短路径问题及Dijkstra算法

8.并查集与索引式优先队列、二叉堆

9.遗传算法初步与TSP问题

10.内部排序(直接插入、选择、希尔、堆排序、快排、归并等)算法与实践中的优化

11.外部排序与优化(文件编码、数据编码、I/O方式与JVM特点、多线程、多路归并等)

12.哈希表、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初步

 

 

 

 

 

 

 

 

 

 

 

1、掌握数据处理实践中经常用到的数据结构和算法

 

2、培养数据处理思维

 

3、培养算法实现能力

 

4、开拓视野,理解数据结构与算法在操作系统、互联网、数据库、海量数据处理场景中的地位与价值

 

5、知识落地,学会运用数据结构与算法及相关知识分析实际问题、解决实际问题的能力

 

6、为深入、全面、扎实掌握大数据处理技术奠定基础

 

 

 1、引用权威、力求专业。

所用参考资料来自知名原版英文教材,或采撷自一线资深开发专家博客与论著,同时讲师有知名高校学习背景,力求保证知识专业性。

 

2、梳理结构、框架教学。

结合讲师自身学习与从业经验,深知建立结构化和框架式的知识结构的重要性。课程注意从这一点出发,将零散的知识内在的联系剖析出来,帮助学员建立统一、规范和相对全面的知识结构。

 

3、知识新鲜、场景明确

一般的数据结构和算法课程,过于强调理论或者孤立了知识所处的实践背景。课程注意从这一点出发,从实践当中采集鲜活而前沿的场景,来帮助学员提升学习兴趣、定位知识的运用方向。

 

4、步骤清晰、讲解详细

数据结构和算法是一门相对难以理解和掌握的课程。课程注意到这一点,利用PPT插图分解步骤+详细解说+代码示例+调试分析等手段,力求让学员能学得明白、学得扎实。

 

5、步步为营、启发教学

结合第4点,同时考虑到一些问题的延展性和深入性,既讲述一般解法,也注重培养学员延伸思考、优化方案的能力,力求让学员能举一反三、融会贯通。

 

6、开阔视野、强调内功

结合第3、4、5点,不仅讲述数据结构和算法本身的知识,也考虑到讲述一些操作系统、体系原理、数据库的知识,不仅讲述经典问题,也考虑到讲述一些前沿和热点问题,帮助学员开阔视野、培养内功、提升思考和灵活运用的能力。

 

7、全程源码、精心设计

计算机行业,工程能力是企业最看重的能力,也就是能不能实际解决问题。课程考虑到这一点,针对数据结构和算法这门课程的特点,精心设计了源码应用场景,帮助学员加速知识落地、强化实现能力。

 

 

1.课程针对人群

本课程是大数据处理和云计算工程师的基础课程。

适合对数据处理、数据库、大数据计算等领域有强烈兴趣的工程师和兴趣人士。

学习本课程最好具备一定的C语言或者Java语言基础,这样才能看得懂代码、跟得上课程进度。

如果没有语言基础也不用担心,可结合着编程语言的课程来学习本课程,起到互补的效果。

 

2.我该怎么学,如何才能学好这门课程,给些建议

带着兴趣去学习,课程本身含有大量数据处理的经典问题和热点场景,如果能激发兴趣,学习就会事半功倍

这门课程相对其他课程难度较大,所以不能一味求快,更不能一曝十寒,要循序渐进,结合视频中的讲解、多做笔记,先尝试自己思考并给出解决方案,最后再参考课程所附源码。注意,视频和源码都只是参考,重要的是培养和激发你积极思考、勤于动手的能力。

对于较难的章节,比如树的非递归遍历、平衡树的旋转、最短路径算法等问题,要主动放慢对进度的要求,结合PPT的插图分解和讲师讲解,摸清每个步骤后,再进入新的章节。

冰冻三尺非一日之寒,学习的过程总是辛苦的,希望大家能够坚持,一旦你跨过这个坎儿,很多东西你就一并超越了。

祝你成功!

 

 

本课程是大数据就是这么任性系列的第一季课程,是针对大数据和云计算工程师的基础课。

只有熟练掌握了这个基础,才能进入新的学习阶段,否则到时会难以透彻、扎实、全面、专业地掌握大数据处理技术。


评价(0) 立即评论
0/150