谈得大一些,从这本书来看中国的教育。
我不知道为什么那么多的学校都选择这本书来作为数据结构的教材,也许他们大多数没明白数据结构究竟学的是什么?
这本书为什么学生爱看?因为他简单,他把复杂的东西给省略,把简单的东西更加简单化。
但是我不赞同用C语言再来学数据结构,学习数据结构是学习他的思维方式,而不是他的实现方式,而太多的人都把重点放在了怎么写代码,怎么用指针上,这样的态度是学不好数据结构的。
再者,这本书根本没有引起太多的思考,举两个简单的例子:
1. 希尔排序和冒泡排序的时间复杂度都是N2,那么为什么还说希尔排序是个优秀的算法呢?这本书连提都不会提,但是我们不妨看看其他的把数据结构讲的比较深入的书,会得到答案。
2. 这个也许有些牵强,我们是个多核的时代,我们在很多问题上不能只用简单的单核思想去分析问题,比如说,树的深度搜索,假设我们把用多核的思想去考虑,那么是什么结果呢?哪怕不去考虑多核,如果用多线程去深度遍历树,是什么样呢?
因此,我只能说,这本书适合学生考前突击学习,至此而已。
没看过国外的,虽然翻过电子版。
但是可以肯定这本书我非常不喜欢。
完全看不出来有任何水准。
完全在“装”教材。
看上去条条理理,其实全是屁话,而且是让你看不明白的屁话。
先不说这本书讲得有多深入,整个的教学理念都是错的,装牛逼,看书的人学不到东西。
要准备跨考考研初试需要用到这本书,没有C的基础,看这本书入门对于我来说应该是坚持不下来。
各位前辈,能否推荐一下更适合入门数据结构和C的书籍?像HeadFirst系列那种。
对于楼主说的学习数据结构应该是学习他的思维方式,而不应该把重点放在怎么写代码上,前半句我赞同,后边我反对。无论如何,数据结构应该用代码表述出来。这对于初学者尤其重要。用写代码的方式可以反补对数据结构的学习,反之,学了数据结构却不会编写代码会让人感觉到很沮丧----觉得什么都没有学到。数据结构这门学科发展起来就是为了写出优秀的算法。
浏览第一遍,感觉良好,还比较全面哈。
仔细看第二遍,我决定放弃以此书作为数据结构的入门书,原因:内容太乱了,我无法整理。
数据结构,那是算法的基础,程序的基础,应该讲得很有趣才对,目前为止,还没有发现一本讲得有趣的,遗憾中。。。
这本书我也不喜欢,讲的简略而且伪代码写得难懂。
不过我不同意lz对c语言的看法。一般大一学校就会开c语言课程,而大二开数据结构,要是还在“怎么写代码,怎么用指针方面”有很大问题,可以说大一的c语言是白学了。此外,c语言是一门简洁的语言,用来掌握数据结构的构造很恰当。taocp都是用汇编语言描述的,为什么不用c++或者java?
这本书是普及性基础性教材啊,并不是专业进阶所用的,强调实现重视应用不是很好吗?我倒是觉得楼主标题过大了,同意Su的话,想学算法去看算法导论吧,这本《数据结构》的价值不在于此。
这本书在算法分析方面的确比较弱。我记得看过严蔚敏老师给学生答疑的帖子,其中反复说过她自己的数学功底不好。
第二个理由是有些牵强。我读了Weiss的书,也没有看到多线程遍历树相关的论述。