数据结构—我很迷茫
我是一个大一的新手,大学之前从来没有接触过编程什么的,只是凭着自己对计算机的喜爱,义无返顾地选择了计算机科学与技术做为自己的专业。我知道学这门知识的压力很大,知识的更新速度很快。所以我更得用心去努力把她学好。
老师上课的进度让人无语(我觉的有点慢了)。不断自学才是我们的宿命。而现在我正在看数据结构。我想请教csdn各位热心的前辈们,数据结构到底要怎么学?我的做法是把一些重要的算法摘抄下来。再去体会其中的道理。这样可行吗?
还有就是,c++这门课是在什么时候开的,我想较早接触他,需要学些什么做为基础呢?
问题点数:20、回复次数:21Top
1 楼marzot(A=B)回复于 2006-12-14 20:09:25 得分 0
学数据结构之前先学一门编程语言,要不你会不明白的.
学一门编程语言之前应该先知道一些计算机基础知识,譬如:进制转换
如果是想提前学C++的,可以看<<C++程序设计语言>>(The C++ Programming Language),<<C++ 初学者>>(C++ Primer),<<C++程序设计教程(第4版)>>(C++ How to Program)这三本书对于初学着来讲是最好的了,而且只要其中一本就够.Top
2 楼marzot(A=B)回复于 2006-12-14 20:15:22 得分 0
补充的是,如果急着学数据结构,C++的面向对象部分(讲类的章节及其后)是不不要的.
学习面向结构的就够了.Top
3 楼LiChenYue(卐)(李忱悦)(怎堪蔑拒?鳄泪横流㊣暗恋未遂!独孤求偶)(卐)回复于 2006-12-15 00:01:23 得分 0
我觉得尽快熟悉一个工具比如TC什么的比较好,否则,一个算法都不能实际做一下,是不是不太好。对吧?Top
4 楼LiChenYue(卐)(李忱悦)(怎堪蔑拒?鳄泪横流㊣暗恋未遂!独孤求偶)(卐)回复于 2006-12-15 00:02:20 得分 0
有了一个工具在理论结合实践,就很快了!Top
5 楼perfe_ct()回复于 2006-12-16 20:52:52 得分 0
大一学校不让买电脑,除了上实验课很少有时间去上机操作,我学c语言的时候遇到了不少想不明白的地方,譬如为什么要这么做呢?他的原理是什么?等等 让人很头痛.我打算买一本比较深入了解c语言的书籍 大家说说 <c程序设计语言 K&R 徐宝文译>这本书好不好? 大家再多给点建议吧!Top
6 楼lzyblog(异域の蜗牛)回复于 2006-12-16 20:56:55 得分 0
谭浩强的c教材不错Top
7 楼perfe_ct()回复于 2006-12-16 21:10:40 得分 0
潭浩强的c的第3版我已经买了而且看的差不多了,好象文件处理和位运算没怎么看,我觉得他的书讲的太浅了.好多东西我还是不懂Top
8 楼MagicPeng(彭彭)回复于 2006-12-17 23:12:38 得分 0
那本书 太经典了 几乎所有 大学生 都学!Top
9 楼smartcatiboy()回复于 2006-12-18 00:59:10 得分 0
楼主还是学生,现在应该扩展知识面。大学每一门课都很重要,不要因为专学计算机就荒废别的科目,更不要在计科就要咬死做程序员。
过来人的忠告,人生漫长多变。Top
10 楼perfe_ct()回复于 2006-12-19 15:33:55 得分 0
谢谢smartcatiboy()前辈给的建议,我学的就是计算机科学与技术,而且我也非常喜欢这门专业. 不过我真的没考虑过以后的计划 .学校大一下学期就要开面向对象程序设计这门课了.请问学习这门课有什么要点吗?如果是学c++ 谁的书会比较好一点呢?
Top
11 楼xlfd0()回复于 2006-12-19 20:12:09 得分 0
程序=数据结构+算法.你说数据结构重要么,建议你从大一就开始把所有的精典的算法用C语言或是C++,或是JAVA全部实现一遍,这对你理解程序是非常有好处的,通过这一过程会加深你对程序的悟性.基础打好了,再学别的就一通百通了!不要拘泥尼什么技术,因为哪就像武功的招式一样,万变不离其宗,"数据结构+算法"这才是内功!
C语言功能强大!Top
12 楼kongl123(kongl123)回复于 2006-12-19 21:06:20 得分 0
从你的表达上看,也许你看C时可以结合<编译原理>这门课,也可以大概看看<操作系统>,也许会对你的“为什么”有点帮助。(ISO/IEC 9899:1999 这是C的国际标准)我想你像一个"DFS的人",不过我建意DFS和BFS的交叉学习,说得有点奇怪呵呵:)Top
13 楼kongl123(kongl123)回复于 2006-12-19 21:21:26 得分 0
Inside C++ object model 可以回答C++方面的一些为什么 (ISO/IEC 14882:1998 C++)Top
14 楼perfe_ct()回复于 2006-12-20 18:52:27 得分 0
从你的表达上看,也许你看C时可以结合<编译原理>这门课,也可以大概看看<操作系统>,也许会对你的“为什么”有点帮助。(ISO/IEC 9899:1999 这是C的国际标准)我想你像一个"DFS的人",不过我建意DFS和BFS的交叉学习,说得有点奇怪呵呵:)
-------------------------------------------------------------------
请问什么是DFS呀? 编译原理这本书我翻过,我想我现在比较难弄懂其中的奥妙之处..不过我真的老是有很多发奇的想法,许多为什么弄的自己也很头痛..编译原理对于我一个大一的只接触过c语言的学生是不是很难啊??我都很想看啊Top
15 楼kongl123(kongl123)回复于 2006-12-20 20:51:43 得分 20
呵呵,可能会比较难吧,,我个人从内容看它主要是算法和数据结构的组合,目的是把一种人更容易使用的语言翻译成电脑容易使用的语言。这也许和C,C++的有些为什么没太大关系,不过要使翻译过程更快,翻译后的性能更好,一方面要求编译器的算法好,另一方面要求源语言的一些自身属性,C,C++成为现在的样子,我觉得有些就是因为这个,还有就是标准,不少标准也应该是考虑这方面的因素才这么定的(不过这些都是我猜的,你可以自己辨别我说的是不是对的),也许你比较聪明,很多东西能自己想通,也能看透很多为什么,不过这必竟不是正常的过程,累是难免的。DFS:Depth First Search.开个玩笑,大概说你是个开始学东西就喜欢深究的人:)Top
16 楼perfe_ct()回复于 2006-12-21 11:44:47 得分 0
呵呵,谢谢kongl123(kongl123)的回答。我知道了。努力学吧。。。。
我再问一个问题,在一本书上看到:
内存区分为3大块:静态存储区,动态存储区,程序存储区。
前面2个我了解,但是什么是程序存储区啊,它里面存放的是些什么东西?哪些数据需要放在程序存储区中?Top
17 楼kongl123(kongl123)回复于 2006-12-22 19:59:05 得分 0
什么是程序存储区
---------
也许可以从字面理解吧,不对的请指正呵呵Top
18 楼qingcairousi(青耕)回复于 2006-12-22 22:41:50 得分 0
找本高程的书,学学CASL汇编吧,可以了解程序的底层的运行方式,现在你看到的诸如存储区之类的概念,在汇编里面是实实在在用到的。学好以后回过头来看C/C++就是不一样的感觉了,会容易理解很多的Top
19 楼waterine(waterine)回复于 2006-12-23 15:24:57 得分 0
实际上你问这么宽泛的问题,会得到各式各样的回答,你自己仍然不知道该怎么学。
不如实际的一个个问你搞不懂的问题,这些问题搞清楚了,你自然会渐渐明白前进的方向。Top
20 楼perfe_ct()回复于 2006-12-24 17:34:13 得分 0
我现在看的书为:c primer plus(不懂的时候看.买的书) .数据结构(借的书),计算机组成原理(只看一部分,书是借来的),操作系统原理(只看一部分,但我买了书)
大家说说这个学习的方向如何?Top
21 楼believe_me(影子)回复于 2006-12-26 17:05:18 得分 0
数据结构主要是思想,跟用什么语言没太大的关系。。。数学要学好~~Top




