如何学习数据结构(@turingo)?

jeff_nie 2012-12-30 07:24:25
在学习数据结构,理论性的东西倒能看懂,比如插入排序和快排是如何实现的。但是看代码就有点矇,写更是无从下手。也就是说,知道一个原理,但不能用代码实现。这个要怎么办?是因为对语言的语法还不够熟练吗?
PS. 包括,一些其它的问题也是,有时候题目也会给出一些提示,自己也是按这个思路去想的,但就是不知道怎么用代码写出来。
求前辈们指点,多谢!
...全文
343 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
蜗牛快走 2012-12-31
  • 打赏
  • 举报
回复
jeff_nie 2012-12-31
  • 打赏
  • 举报
回复
谢谢各位指点。
GARY 2012-12-31
  • 打赏
  • 举报
回复
我也在学,也经常看不懂。看不懂我就不停的单步调试,不停的思考。 实在想不通,就google一些其它的资料,看有没有更好理解的代码或者文章。 一遍一遍反复看,总会弄懂的。弄懂了,再尝试自己写,写不出来,就再去看别人的。 总之坚持,就肯定能把只是解决掉。-_-
图灵狗 2012-12-31
  • 打赏
  • 举报
回复
这样的情况说明动手和实践太少,从以下两个方面去努力: 1、捡起你的笔,在纸上多画画逻辑和流程图,直到真正的理解透彻; 2、用代码去实现你在纸上已经演练好的逻辑流程,对于不明白的代码细节,设置断点用调试器单步跟踪和执行,并随时观察重要变量和结构的值。
引用 楼主 jeff_nie 的回复:
在学习数据结构,理论性的东西倒能看懂,比如插入排序和快排是如何实现的。但是看代码就有点矇,写更是无从下手。也就是说,知道一个原理,但不能用代码实现。这个要怎么办?是因为对语言的语法还不够熟练吗? PS. 包括,一些其它的问题也是,有时候题目也会给出一些提示,自己也是按这个思路去想的,但就是不知道怎么用代码写出来。 求前辈们指点,多谢! ……
疯狂的红豆 2012-12-31
  • 打赏
  • 举报
回复
我大二,这个学期刚学完数据结构,有关心得分享下: 学数据结构之前都要先有一门熟悉并熟练使用的语言,我学的是C/C++的,结构也是用C++作了封装。 首先你要知道为什么要有数据结构呢?数据结构中的一些常用的结构,顺序表,栈,队列,这三个你能独立的写出来源代码吗?如果你仅仅是懂原理,那我想说的是栈就是LIFO(Last In First Out),一句话可以概括了。但是基于原理背后的实现LZ可以做到吗? 有这么一个理论: 计算机程序设计语言就是提供了一个人与计算机交流的工具,如果哪天计算机能听懂人话了那就不需要编程语言了,更不需要程序员了,当然这些是几乎不可能的,扯远了。作为写代码的我们,如果你能把一个程序的逻辑与细节先想清楚,那么至于代码就不是问题了,写代码的过程就是把自己的思维转换成计算机能理解的形式而已。你说你能看懂却实现不了,那可能是你的语言不过关,这是很可怕的,学数据结构的前提就是需要一个熟练使用的语言做支持的。要么就是你还不能深刻理解这原理。后者的可能性更大,所以不要眼高手低,要多看多思考,每一个结构的背后都是有原因的,多动手写代码,多动手去实现一些自己明白的原理,在实现的过程中你会发现你自己其实不那么清楚原理。这是我深刻的教训,希望对你有帮助
赵4老师 2012-12-31
  • 打赏
  • 举报
回复
为什么要有数据结构这个东东? 因为要将现实世界或者抽象理论中的各种数据保存在计算机外存(光盘、硬盘、U盘……)或内存(ROM、RAM、SRAM……)里面的二进制字节数组中。 然后让CPU这个只会执行预先保存好的加减乘除移位条件转移……等机器指令的家伙按照人的意志去处理这些数据。至于具体如何处理就是所谓算法。 对学习编程者的忠告: 眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步对应汇编一行!
ForestDB 2012-12-30
  • 打赏
  • 举报
回复
眼高手低? 多练习吧。
Bruce_Zeng 2012-12-30
  • 打赏
  • 举报
回复
先学好一门语言的基本语法什么的,然后先照着人家书上的抄代码,最后自己多写
pengfoo 2012-12-30
  • 打赏
  • 举报
回复
知道原理是第一步,第一次不知道,就抄,吵多了就会了
CZBKJSJ 2012-12-30
  • 打赏
  • 举报
回复
不会就画图!多练练代码!
竞天问 2012-12-30
  • 打赏
  • 举报
回复
单步执行比较好吧
FancyMouse 2012-12-30
  • 打赏
  • 举报
回复
>这个要怎么办? 多写 >是因为对语言的语法还不够熟练吗? 不只是语法。语言本身不够熟练。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧