数据结构哪本书好,数据结构哪本书好些

http://www.itjxue.com  2023-01-06 08:47  来源:未知  点击次数: 

学习数据结构,有哪些值得推荐的好书

作者:向小刚

链接:

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

1. CLRS 算法导论

算法百科全书,只做了前面十几章的习题,便感觉受益无穷。

2. Algorithms 算法概论

短小精悍,别据一格,准经典之作。一个坏消息: 同算法导论,该书没有习题答案。好消息:习题很经典,难度也适中,只需花点点时间自己也都能做出来。不好也不坏的消息:我正在写习题的答案,已完成前三章,还剩九章约二百道题,顺利的话二个月之后发布。另有中文版名《算法概论》,我没看过,不知道翻译得怎么样。如果有心的话,还是尽量看原版吧,其实看原版与看中文版花费时间不会相差很大,因为大部分时间其实都花费在做习题上了。

dr. dobb's essential books on Algorithm and daba structure

3. Algorithm Design 算法设计

很经典的一本书,很久之前看的,遗憾的是现在除了就记得它很经典之外其它都忘光了。

4. SICP 计算机程序的构造和解释

六星之书无需多言,虽然这不是一本讲算法的书,但看完此书有助于你更深入的理解什么是递归。我一直很强调习题,看完此书后你至少应该做完前四章的太部分习题。否则那是你的遗憾,也是作者的遗憾。

5. Concrete Mathematics 具体数学

有人说看TAOCP之前应该先弄清楚这本书的内容,要真是如此的话那我恐怕是看不到TAOCP了。零零碎碎的看了一大半,很多东西都没有时间来好好消化。如果你是刚进大学不久的本科生,有着大把的可自由支配时间,那你幸运又幸福了,花上几个月时间好好的读一下此书吧,收获绝对大于你的期望值。

6. Introduction to The Design and Analysis of Algorithms 算法设计与分析基础

很有趣的一本算法书,有许多在别的书上找不到的趣题,看完此书绝对能让你大开眼界,实在是一本居家旅行,面试装逼的必备佳作。

7. 编程之美--微软技术面试心得

虽说是一本面试书,但如果把前面十几页扯掉的话,我更愿意把它看作是一本讲解题思维的算法小品。在书中,作者通常是给出一个平常解法,然后再一次又一次的优化改进,你可以很清楚的看到基本的算法设计思想是如何得到运用以解决实际问题的。如果你已经有了一些算法的基础,看完本书应该能使你的算法应用能力得到一定的提高。另外,本书生动有趣,也同样适合于初学者。

8. Fundamentals of Algorithmics 算法基础

也是很久之前在学校图书馆借来看的,内容记不太清楚了,只隐约记得此书的动态规划章节犹为出彩。应该是很经典的一本书,个人以为足以和算法导论等所谓当世经典平分秋色,但是怎么好像被人提到的不多,或许是我孤陋寡闻了。

9. How to solve it 怎样解题

二十世纪最伟大的数学思想家之一波利亚的力作,讲一般性的解题方法:怎么认识问题,怎么转换问题,怎么解决问题,如何在问题中得到启发,如何找到一个通往答案的方向。

10. Programming interviews exposed 程序员面试攻略

一本消遣之作。个人以为要比国内的某“XXX面试宝典”纯粹一些,至少也有一些启发性的内容,而不单单是面试题解库。

11. Programming Pearls 编程珠玑

学习算法不仅需要像Alogrithms,算法导论这样的重量级的内功心法,像《编程之美》、《编程珠玑》这样的轻量级的轻功身法也必不可少。前些年网上不是很流行像“给你10亿个数,找到最大的n个”或者“给你10亿个数,找出现次数最多的那个数”之类的百度面试题吗?看了此书你就知道怎么解决了。相比于《编程之美》来说,本书中的示例技巧性略低一些,但是也更有实际应用价值一些。

12. 算法艺术与信息学竞赛

如果算法导论是九阳神功,那这本无疑就是九阴真经。本书是专为参加一些诸如ACM之类程序设计比赛的同学而写的,江湖人称“黑书”。里面讲的都是一些在编程比赛中常用的算法、数据结构,以及一些数论和计算几何等。我虽然并不搞竞赛,但也从此书中受益颇多。

13. An Introduction to Probability Theory and Its Applications

准备看的,现在才发现概率论有多么重要,可惜本科的时候没有好好学。前不久一个同学问我个问题,我半天弄了一个程序给他,他说:这里就不是相关系数么,Excel一下就完事!我晕,我还真不知道那就是相关系数。

14. Numerical Analysis

这本的作者是Richard L. Burden,J. Douglas Faires

数值分析,讨论各种数值算法,比如插值、拟合、积分、微分方程的求解、线性和非线性方程组求解等。准备详细看。

15. TAOCP 计算机程序设计艺术

传说中的TAOCP,说的人多,看的人少。TAOCP四卷堪称是算法藏经阁中的易筋经或者是少林七十二绝技。天下武学,尽出少林,天下算法,尽出TAOCP也。

数据结构(c语言版)有什么参考书?

推荐《数据结构》(c语言版)(清华大学出版社,严蔚敏,吴伟民编著)教材。

《清华大学计算机系列教材:数据结构(C语言版)》的第1章综述数据、数据结构和抽象数据类型等基本概念;第2章至第7章从抽象数据类型的角度,分别讨论线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及其应用。

第8章综合介绍操作系统和编译程序中涉及的动态存储管理的基本技术。

第9章至第11章讨论查找和排序,除了介绍各种实现方法之外,并着重从时间上进行定性或定量的分析和比较;第12章介绍常用的文件结构。

本书可作为计算机类专业或信息类相关专业的本科或专科教材。

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

自己想学数据结构,有大佬能推荐一下看什么书吗?

有:《数据结构与算法分析 : C++描述》、《数据结构与算法分析 : C语言描述》、《大话数据结构》。

数据结构是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。

数据的逻辑结构和物理结构是数据结构的两个密切相关的方面,同一逻辑结构可以对应不同的存储结构。算法的设计取决于数据的逻辑结构,而算法的实现依赖于指定的存储结构。数据结构的研究内容是构造复杂软件系统的基础,它的核心技术是分解与抽象。

通过分解可以划分出数据的3个层次;再通过抽象,舍弃数据元素的具体内容,就得到逻辑结构。类似地,通过分解将处理要求划分成各种功能,再通过抽象舍弃实现细节,就得到运算的定义。。上述两个方面的结合可以将问题变换为数据结构,这是一个从具体到抽象(即数据结构)的过程。

我想学数据结构,java语言的,看什么书比较好

有很多,数据结构和抽象问题求解--Java语言描述》这本个人觉得还可以,里面会一步步教授如何设计一些容器、集合的实现,而且经常举一反三,我暂时将其划分为中级阶段的书

《大话数据结构》这是大话系列的第二本,总的来说比较浅显易懂,可以对数据结构有轻松入门的了解,缺点是版本刚出来,有些错误还待勘正,可作为初级阶段入门书籍。

《数据结构与算法分析--Java语言描述》这个就比较经典了,里面比较偏重介绍引导设计的思想也有代码实现,个人认为是初进中阶段的读物。

《算法导论》这本就不用多介绍了,法的偏理论书籍,想来应该可以算是一本高级进阶的书了。

言而总之,等到代码累积量到一定程度的时候,自然而然就会去想加强数据结构和算法相关知识了。读书这种东西,一千个读者有一千个哈姆雷特,只希望这里能提供一个参考给楼主。

(责任编辑:IT教学网)

更多

相关思科认证文章

推荐思科认证文章