最全面、最前沿、最专业的游戏研发实战

提供最全面的游戏研发技能分享,让您在最短时间变成高级游戏工程师

查看:0|回复:7

【推荐】学数据结构有多痛苦?

 attach_img

5

帖子

4

回复

8

积分
最后登录:
2025-04-05 14:40
注册时间:
2023-04-19 17:20
楼主
  发表于:2025-04-05 18:56:06|查看用户信息

室友刚发的说说,为了一道作业题,我的两个室友挣扎到现在都还没放弃(而我已经不抱希望早早上床了),数据结构真的很难吗?各位学数据结构的童鞋分享一下自己的经历吧!

5

帖子

5

回复

7

积分
最后登录:
2025-04-05 14:54
注册时间:
2023-03-13 23:13
1 楼
  发表于:2025-04-05 18:58:13|查看用户信息

感觉数据结构算还好,理由大概是因为坚信它有用吧……


毕竟当自己排序不再只会冒泡、存数据不再只会数组的时候还是蛮爽的。除了个人肉眼可见的提升这一正向激励外,上课老师也经常强调实用性、效率、走上岗位企业要的是什么,应用性极强让我数构课偶尔困得半死也不敢像高数一样直接睡觉……反而有种想学好的使命感(虽然周一要考数构了现在还在逛知乎)。


数构难度上确实有一些,算法也多种多样,自己大一没有数构勉勉强强啃图书馆的参考书学了下计算机二级的公共基础知识,里面不少就是数据结构的东西……一懂半懂直到大二数构课开始,没预习也有了点薄弱的基础,坐前排好好听课,哇这个链表我见过,哇这个栈和队列我也见过,树和图虽然还是很懵,但听懂自己以前不理解的东西确实蛮爽的,而且一时听懂一时爽,一时听懂一直爽,学数构自然感觉阻力也小了很多,复制代码也少了很多。所以这个东西有点缓冲预习的基础可能感受都会好点,至少不会算“痛苦”。


不过预习了之后部分瓶颈期确实会挺难受,比如链表,我花了差不多一周打底每天都要苦恼链表是什么东西,干嘛数组好好的要用链表,看教程,看视频,盯着链表那个head→data1|→data2|→NULL的图就是死活不能理解,还因为纠结太深跟男朋友发了点脾气……现在懂了之后爽得不行,干嘛都要用链表,吹牛也带上链表(??),看别人纠结链表什么东西的时候也能超自豪地过去解说(虽然还是说错过),学习的痛苦之后确实是大彻大悟的,不同于王者赢一局还得了mvp、fgo到五星限定(几率0.007)的快乐,不仅爽更久,以后还用得更久,乃至确实有些思维方式会得到启发,所以学时的痛苦比起受益其实算不了什么的……


但是高数的益我不可能受的,这辈子都不可能受的,积分又不会积,就是听课听到睡着才熬过大一高数课这个样子,进补考场感觉跟进高数教室一样,在补考场里比在高数课上更看不懂极限怎么求,题题都是瞎蒙,不蒙又不会,然后就重修了!


5

帖子

6

回复

8

积分
最后登录:
2025-04-05 17:46
注册时间:
2023-03-13 23:13
2 楼
  发表于:2025-04-05 18:59:15|查看用户信息

之所以数据结构学起来很难,大概率是因为真的是一头扎下去去“学”数据结构,而不是去“用“数据结构。


博主真正掌握数据结构其实是在用的过程中学会的。


数据结构和算法这东西其实是早期计算机的蛮荒时期一代代程序员的经验总结,他们在编写各类软件时发现了一些解决问题的“通用代码组件”,将这些组件进一步提炼总结去掉各类项目相关的逻辑凝练成所谓的数据结构。


因此先有的M再有的N,你一头扎到N可能体会不到数据结构有什么用,学起来也痛苦,但当你真的在实际项目中遇到问题需要用到数据结构时你会发现:原来数据结构是这样用啊,当你有这感悟时基本就算入门了。


在数据结构这门课程中不要学以致用,要用以致学。


1

帖子

6

回复

7

积分
最后登录:
2025-04-05 16:02
注册时间:
2023-11-21 21:54
3 楼
  发表于:2025-04-05 19:00:16|查看用户信息

我本科是软件相关专业,浑浑噩噩划了四年水。2019年距考研有20天的时候,为了专业课能过线,在通宵自习室用两个礼拜速成了数据结构,所以我对于痛苦的感受尤记忆犹新 。


痛苦在哪里?不是数据结构的知识点难度大,也不是知识繁杂。有一说一,数据结构在那几门计算机专业课里算是比较简单的,就那么多内容,线性表,栈,队列,树,图,排序,查找,可能还会涉及到串等等,知识点比较多,但是理解起来都没有太大的难度。可是,作为计算机和软件行业的必学科目,数据结构是和编程紧紧联系在一起的。你理论无比精通,一套一套的操作烂熟于心,但是要用代码把算法表达出来,可能就会遇到大问题,更别说接下来的具体应用。


我在考试的时候,前面的基础题答得都不错,但是到了编程题,直接拉胯。所以在我看来,数据结构难就难在如何将所学知识融会贯通,去设计算法,去解决具体的问题。


5

帖子

5

回复

8

积分
最后登录:
2025-04-05 15:24
注册时间:
2024-10-11 22:10
4 楼
  发表于:2025-04-05 19:01:51|查看用户信息

我大三的时候暑假留在学校图书馆里学习,当时是边看浙大陈越姥姥的课,边用C进行实现,学到邻接表的时候,邻接表的结构体死活都看不懂…后来把C又认真学了一遍,转过头来看一下就懂了。当然想要理解算法本质上就是对逻辑能力的一种考验,其实我觉得只要用C多实现几遍,许多抽象的算法最少都会在大脑中有一个大体的印象。


总的来说数据结构真的没有那么难,倒是数据库有许多原理部分我感觉比数据结构还难,更考逻辑能力


1

帖子

0

回复

1

积分
最后登录:
2025-04-05 17:45
注册时间:
2023-03-11 21:03
5 楼
  发表于:2025-04-05 19:02:32|查看用户信息

程序 = 算法 +数据结构

如果仅仅只是学习数据结构会非常的枯燥,需要了解每种数据的优势和劣势,当实现某种算法的时候,需要考虑某种数据结构来降低算法的复杂度。

程序员需要一直问:我是否可以做得更好,这个时候就是在选择更好的数据结构来实现高效算法能力。


6

帖子

4

回复

9

积分
最后登录:
2025-04-05 16:30
注册时间:
2023-04-19 17:20
6 楼
  发表于:2025-04-05 19:04:22|查看用户信息

常听人抱怨,数据结构与算法难学,学起来很痛苦,甚至想放弃,但是无论是工作还是面试,数据结构与算法是所有程序员绕不过的一关。


正因为数据结构与算法对程序员来说太重要了,所以很多人为了快速掌握,或者快速提高代码能力,一定会去大量刷题。但是你要知道,刷题不是目的,只是手段。很多初学者常常会被那些千变万化的代码题搞得晕头转向、不明所以。这不仅浪费了你大量的时间和精力,而且并不会真正让你掌握相关知识或提高编码能力,得不偿失。


数据结构和算法的学习,最忌笨办法狂刷题。最高效的学习方法,一定是找到一个好教程,不仅带你刷题,更带你掌握程序优化的方法论,让你能将所学所得运用到实际工作中去。


在市面上良莠不齐的教程里,我综合比较了下,给你诚意推荐《重学数据结构与算法》,光看讲师就觉得很靠谱。课程讲师公瑾,是中科院博士,也是资深算法专家,学术成就肯定是没得说,他曾任职的也都是国内一线知名大厂,有扎实的业务能力和实践经验。


虽然数据结构与算法的知识体系庞杂,但是你跟着他,一定能夯实基础,学到方法论,搞定高频面试题。感兴趣的话可以私信我发链接。


4

帖子

4

回复

8

积分
最后登录:
2025-04-05 18:12
注册时间:
2023-03-11 23:29
7 楼
  发表于:2025-04-05 19:06:18|查看用户信息

网络上太多的同学吐槽被“虐”,如“滔滔江水连绵不绝”,数据结构太难了!真的很难吗?其实数据结构只是讲了3部分内容:线性结构、树和图。到底难在哪里呢?我通过调查,了解到数据结构难学大概有以下4个原因。

(1)无法接受它的描述方式。数据结构的描述大多是抽象的形式,我们习惯了使用自然语言表达,难以接受数据结构的抽象表达。不止一个学生问我,书上的“ElemType”到底是什么类型?运行时怎么经常提示错误。它的意思就是“元素类型”,只是这样来描述,你需要什么类型就写什么类型,例如int。这样的表达方式会让不少人感到崩溃。


(2)不知道它有什么用处。尽管很多人学习数据结构,但目的各不相同。有的人是应付考试,有的人是参加算法竞赛需要,而很多人不太清楚学习数据结构有什么用处,迷迷糊糊看书、做题、考试。


(3)体会不到其中的妙处。由于教材、教师等各种因素影响,很多学生没有体会到数据结构处理数据的妙处,经常为学不会而焦头烂额,学习重在体会其中的乐趣,有乐趣才有兴趣,兴趣是最好的驱动力。


(4)语言基础不好。我一直强调先看图解,理清思路,再上机。可还是有很多同学已经理解了思路后,因为缺少main函数,输入/输出格式不对,缺少括号等各种语言问题卡壳,而这一切都被戴上了“数据结构太难了”的大帽子。


共 1/1 页

0

帖子

0

回复

0

积分
最后登录:
1970-01-01 08:00
注册时间:
1970-01-01 08:00
会员必须登录才能发布帖子! 点击登录