首页 > 推荐一些数据结构与算法书籍(要求该书重在实现各个数据结构和算法)

推荐一些数据结构与算法书籍(要求该书重在实现各个数据结构和算法)

问题背景

我在学习数据结构的过程中,发现大部分相关书籍都着重讲解原理,但是到了实践部分,要么是一笔带过,要么是代码实现不严谨(比如有的书用C语言实现的时候,书上的代码就是一些不安全的C代码).虽然看原理是挺爽的,但是看到实现部分却是郁闷.
自己动手去实现,运行符合预期, 但是总想有一份标准,(好知道哪些代码是可以改进的,哪些地方的实现是不安全的)

求书

一本经典的数据结构和算法书,该书比较重实现.代码实现语言可以使C/Java/Python.另外关于<算法导论>, 我买了这本书(真买了,但是真心看不懂,我等级不够).结论是: 这真是一本非常好的书,但是我目前的水平理解起来比较费力气(打怪都讲究等级匹配),打算以后钻研.

更新

感谢朋友们的推荐,已下单<算法>.
有大大批评我懒,应当多Google.但是我真心是会Google的,Google的各种语法很熟练(单纯只是Google而没有site语法效率真的很低).而且我还认为:互联网能解决问题的同时,你可能需要先过滤许多垃圾内容.可能需要花费许多时间,而需要搜索的通常是新手,对于他们的问题,往往不具有甄别优劣的能力,有时候胡乱Google并不能很好解决问题.


推荐两个网站
geeksforgeeks 和 stackoverflow


看你的描述,你并不在于是否需要一本书,而是你根本就没思考,
其实你在看数据结构的描述的时候,就应该自己去想怎么去实现,自己动手写一些,
然后看书验证,看看书上的代码跟你的代码优缺点是什么。
你写不出来,只能说要么你没有理解每种结构的原理,或者你的代码能力不够,写不出自己脑中所想的东西,
前者,在于你多看些资料,多在纸上画画,
后者,请确认你对c语言的指针和结构体是否熟悉,几种数据结构用C实现起来真心不复杂,c的数组就是一种线性表,把几个结构体通过指针连接起来就是链表了,至于d_link,trie ,hash,b,b+都是为了减少随机查找次数而改进的链表实现。队列和栈是线性表和链性表的特殊形式。


我们的教材 数据结构(C语言版)清华大学出版社的,讲的还算挺全的,适合初学者。


算法导论是算法入门的经典书籍,沉下心来看,时间不是问题,应该不会难看懂的,你说的难以看懂我认为可能:第一是书中运用了大量的数学符号和字母标记,第二是有些时间复杂度的证明难以理解。这种问题是正常的我刚开始看的时候也有些费劲。你可以先从中文版开始看,挑一些自己比较熟悉的数据结构的章节先看,一旦习惯了书里面的证明方式,说明你的数学思维和逻辑都有了提高。
另外看你提到python,推荐一本《data structure and algorithm in python》
最后还是建议先看算法导论,可以结合在leetcode上刷相关题目来加深印象


我记得当年数据结构的作业是靠这本书搞定的-> http://book.douban.com/subject/2024655/
还有你可以试试看《算法引论》,它要比《算法导论》浅显易懂还薄´・ω・`



《算法精解:C语言实现》不知你看过没

【热门文章】
【热门文章】