打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
数据结构与算法(序)

学习数据结构与算法一个很重要的前提,就是至少熟练掌握一门编程语言。至于是那种语言就无关紧要了,C 语言、C++、Java、Python 等语言都可以。因为无论是数据结构还是算法,它教会我们的是解决问题的思想,并不挂靠某一门具体的编程语言。换句话说,在掌握任何一门编程语言的基础上,都可以学习数据结构和算法。

数据结构与算法的关系

大量数据结构教程中都将数据结构的知识和算法掺杂起来讲,使很多初学者认为数据结构就是在讲算法,这样理解是不准确的。如果把程序理解为:

程序=数据+算法

那么数据结构用于解决数据存储问题,而算法用于处理和分析数据,输出结果。

在解决问题的过程中,数据结构要配合算法选择最优的存储结构来存储数据,而算法也要结合数据存储的特点,用最优的策略来分析并处理数据,可以最高效地解决问题。

数据结构与算法的重要性

假设需要从众多数据中查找出符合要求的元素,美学没学习数据结构的话,只能借助数组这种简单的存储结构来实现,而通过学习数据结构,解决此类问题既可以通过构建二叉排序树、平衡二叉树、红黑树、B+/B- 树甚至借助哈希表解决。不同数据结构选择往往直接影响程序性能好坏。

掌握了数据结构与算法,看待问题的深度、解决问题的角度会大有不同,对于个人逻辑思维的提升,也是质的飞跃。与编程语言不同,无论是 c语言、Java、Python、C++、PHP 还是其他编程语言,无时无刻不在更新迭代,而数据结构却永远不会过时,毋庸置疑,数据结构是每个程序员必须掌握的基本功

要想学好数据结构,不仅要求学员具备良好的编程基础,还需具有较强的逻辑分析能力、理解能力和一定的空间想象能力,可以这么说,能玩转数据结构的人,其综合实力往往都不差。很多大的互联网公司,更看重的往往不是你精通多少种编程语言,而是综合能力,也就是解决问题的能力。可见,数据结构与算法是能力高低的分水岭,是大厂选拔人才的重要标准

学习数据结构的三部曲

比如《算法图解》、《我的第一本算法书》、《啊哈算法》、《大话数据结构》、《漫画算法-小灰的算法之旅》、《算法(第4版)》、《数据结构与算法分析》、《挑战程序设计竞赛》以及《算法导论》等等。

如果要比较系统地学习数据结构的话,推荐看《大话数据结构》、《算法(第4版)》和《数据结构与算法分析》。

大话数据结
算法(第4版)
据结构与算法分析

如果刚接触数据结构的话,可以从《算法图解》、《我的第一本算法书》入手。

算法图解
我的第一本算法书

视频

  1. 郝斌数据结构

虽然比较老,但是讲的比较详细,容易理解,对初学者非常友好。

https://www.bilibili.com/video/BV1Ut411a7rN?from=search&seid=14411767501116137153

  1. 数据结构-浙江大学

课程是由陈越与何钦铭共同录制,b站与慕课网都有,慕课网比较清晰一些

https://www.icourse163.org/course/ZJU-93001?from=searchPage

https://www.bilibili.com/video/BV1JW411i731?p=1

  1. 数据结构与算法基础

课程由青岛大学王卓老师录制,非常适合考研,讲的题比较多。

https://www.bilibili.com/video/BV1nJ411V7bd?p=1

多动手

动手去做,动手去做,动手去做。重要的话说三遍。

动手包括撸码,还包括"多画"

要边学习边画图。因为对于数据结构中的存储结构来说,尤其是树结构和图结构,存储结构确实比较复杂,仅靠空间想象难免会有披露,而通过亲手画图往往能避免很多“坑”,后面关于数据结构与算法的文章中,我也会加入一些动图。

把数据结构图形化,视觉化。在直觉上感受一个数据结构是什么样子的。使用它是什么感觉,抽象上和具体实现上是什么样子的。这就是最重要的事情。并且无论是对于简单的队列、栈还是平衡树都很重要而且有效。把数据结构画出来,在你的脑袋瓜里面就能想象出来,总之,你需要做的就是,直观的去了解这些数据结构

在学习某些算法时,也可以借助画图来加深自己的理解。可以边阅读代码边画图,这样可以更快理清代码的实现逻辑。

在通过“多画”实现理解存储结构和实现逻辑的基础上,初学者还要“多撸码”编写实现代码。对于某一种存储结构或者算法,没有 3 遍以上自己独立的实现过程,是很难做到融会贯通的。

另外,可以在leetcode和牛客网多刷题。

思维导图

来源:https://blog.csdn.net/ityqing/article/details/82838524

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
聊一聊我在B站上自学编程的经历吧
五分钟学编程:如何学好数据结构与算法?
学妹:大学四年以算法为重还是技术为重?
这是一份适合普通大众/科班/非科班的『学习路线』
算法学习书籍推荐
学好编程,从入门到精通
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服