持续学习&持续更新中…
守破离
【liuyubobobo-玩转数据结构】第一章 课程概述
为什么要学习数据结构
- 在计算机科学领域,数据结构是及其重要的一门基础学科,所有计算机专业的同学都必须学习该门课程。
- 数据结构研究的是数据如何在计算机中进行组织和存储,使得我们可以高效的获取数据或者修改数据。
- 为了在不同的应用场景可以高效的获取数据并且修改数据,我们就发明出了各种各样的数据结构。
- 数据的存储,在计算机中是有各种各样不同的解决方案的。我们以后要用计算机解决实际的问题,要做的很重要的工作就是:根据应用场景的不同来灵活的选择最合适的数据结构来存储我们的数据,进而来解决相应的问题。
数据结构分类
- 大致分为三类:
- 线性结构
- 树结构
- 图结构
数据结构无处不在
在计算机的世界里,数据结构无处不在
数据结构的应用
- 数据库
- 操作系统
- 文件压缩
- 通讯录
- 网页(字符串解析)
- 图形学
数据结构与算法的关系
-
大量的算法(近乎所有的算法)以数据结构为基石。
-
数据结构是算法的基石,而算法本身在计算机领域是无处不在的。
-
近乎所有的算法都需要以数据结构为基石,这是因为,我们在具体的使用算法的逻辑过程来处理数据之前,首先,我们这些数据需要以合适的数据结构组织在一起。
- Algorithms + Data Structures = Programs(数据结构 + 算法 = 程序)
课程概述
课程简介
-
针对数据结构零基础的同学
-
需要掌握Java语言基础 -
数据结构本身是不应该局限于某一种特定的语言的,但要用代码实现数据结构,则必须选择一种语言。
-
鼓励同学们使用其他语言实现这个课程的代码
课程特色
- 本课程不包含图结构,图论领域是以算法为主的。
- 图论相关推荐观看liuyubobobo老师的《玩转算法系列–图论精讲》课程
-
基础内容的学习:递归、调试、简单的复杂度分析。
-
手把手的底层实现,创建属于自己的小型数据结构库
-
强调数据结构之间的比较和优化
-
注重数据结构的底层实现
12种数据结构
- 面向面试的数据结构
面向面试的数据结构应该达到白板编程、手写代码的程度。
- 面向考试、竞赛
- 较为复杂的数据结构
学习数据结构有什么用
推荐阅读liuyubobobo老师微信公众号一文:学算法有什么用?没用一文
学好数据结构将会大大的提高你的技术上限,从而让你在计算机科学这个职业道路上走的更远。
数据结构是为了应付面试考试?
也对
也不对
《玩转数据结构》和《算法与数据结构》
- 《玩转数据结构》和《算法与数据结构》这两门课程之间的区别与联系:
- 《玩转数据结构》是以数据结构为主线的,《算法与数据结构》是以算法为主体的。
- 《算法与数据结构》中只讲了3个数据结构(二分搜索树、并查集、堆),因此两门课程内容重叠度很低。
- 两门课程使用的编程语言不同
更多课程学习的注意事项
课程官方github
https://github.com/liuyubobobo/Play-with-Data-Structures
关于答疑
关于面试
关于算法面试,推荐看liuyubobobo老师的《玩转算法面试》课程
数据结构与算法只是面试的一部分,还需要专业技能、学历、情商、运气等等等等
参考
liuyubobobo: 玩转数据结构.
本文完,感谢您的关注支持!