@[toc]
前言
当你点开这篇的时候,我相信你准备开始学习数据结构了。
或入门,或巩固,或深耕,或者像我一样写一系列博客,或者是大神,准备写书了。
蛮看看,一千个读者会有一千个哈姆雷特,看看,不吃亏。
数据结构的重要性,不言而喻,老生常谈。
我曾经在虎嗅上看到一篇文章:如何,让自己,有深入思考的习惯。
博主通篇就讲了一句话:多看那些你看不懂的内容,强迫自己去思考。久而久之,你就习惯了。
所以我觉得,学习数据结构,强迫自己学下去,久而久之,对生活也会有一定的帮助。
题外话有点多啊。
亲身经历
我数据结构学的晚,为啥这么说呢?因为大学上这门课的时候我迷信实力,代码硬刚,功能硬生生的去实现,所以并不在意这些框框条条的,感觉知道那是啥就行了,会用数组链表,OK了。
后来,随着学习的推进,我发现老师和学长学姐们一直说我“基础薄弱”,是真的。
我最先学习的是侯捷老师的《STL源码剖析》,也是从这里开始,我对先人的智慧有了新的认识。数据结构,是多少优秀的前辈们的智慧结晶,我怎么能如此轻视?
于是《STL源码剖析》我反复揣摩了三遍,整理了一系列博客。
在学姐的推荐下,我认真看了一遍《大话数据结构》,还看了一套《黑马数据结构》。
觉得自己好了不得啊,之后,便去LeetCode上刷题。
刷了几天,发现:不行,我顶多是做做 数组、链表、字符串这三个模块的题目,而且还吃力,其他模块更不要说了。
痛定思痛,我以为我是算法不行(其实我猜对了),但是数据结构也不行,就去找了一堆的书,和博客,机缘巧合之下,有了惊奇的发现与收获,嘿嘿。
书
这里有一份书单:
Dr. Dobb's Essential Books on Algorithms and Data Structures Release 2
翱翔hxc 翱翔hxc 2011-01-03 15:43:43
Dr. Dobb's Essential Books on Algorithms and Data Structures Release 2
(算法和数据结构方面开发人员必看的九本核心书籍)
在线:http://orion.lcg.ufrj.br/Dr.Dobbs/start.htm
Fundamentals of Data Structures
作者:Ellis Horowitz,Sartaj Sahni
Data Structures, Algorithms and Program Style Using C
作者:James F. Korsh,Leonard J. Garrett
Data Structures and Algorithm Analysis in C
作者:Mark Allen Weiss
Data Structures: From Arrays to Priority Queues
作者:Wayne Amsbury
Information Retrieval: Data Structures & Algorithms
编著:William B. Frakes,Ricardo Baeza-Yates
Introduction to Algorithms
作者:Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest
Practical Data Structures in C++
作者:Bryan Flamig
Reliable Data Structures in C
作者:Thomas Plum
Data Structures and Algorithms
作者:Alfred V. Aho, John E. Hopcroft,Jeffrey D. Ullman
我搜罗到其中五本,三本英文书,两本有中文译文版。这九本书是数据结构界屹立不倒的宝典,就像男神斯蒂文·理查德的书于网络编程界。
我看了那两本中文的(没办法,四级还没过),好书就是好书,不带骗人的。
数据结构与算法分析 - C语言描述(新手友好)
当然你要是实在新手,建议《大话数据结构》。
数据结构基础(不适合新手)
大话数据结构(新手入门 )
可视化平台
其实吧,数据结构与算法本身而言确实是有难度的,但是嘞,只要我们肯下功夫,多花时间学习和练习,那学习数据结构与算法也是不成问题的,当然,如果再加上这些网站的加持,那你学好起来就会更加得心应手了😎
Data Structure Visualizations
英文版的,不过,有个很强大的工具你要了解一下,它叫“百度”。
你直接百度这个网站,会有一个“百度翻译”的词条。秀吧!!
visualgo
喜欢吗?喜欢就收藏了呗。
BinaryTreeGraph
传送门
这个是专门画树的。
Algorithm Visualizer
这个六哦
这个是算法可视化平台。
支持C++、Java、JavaScript
Algorithms-DataStructures-BigONotation
这个也是一个可以查看算法分析的网站,但是人家不止于此:
更多惊喜,大家自己挖掘咯!
海量题库
哈哈,老手一猜就知道,LeetCode。
新手现在知道也不晚,来来来!!!
LeetCode官网(中文网)
点开“探索”:
是不是发现了新天地啊😄
听说你要学数据结构了,确定不用我帮你一把?