• ...别人的推荐、


    来自:http://blog.csdn.net/baimafujinji/article/details/50531182

    1、法国鲁昂大学(University of Rouen )Thierry Lecroq 教授关于字符串(模式)匹配算法的介绍内容

    http://igm.univ-mlv.fr/~lecroq/string/node1.html

    如果说道字符串匹配算法,你会想到哪些?只有KMP吗?那你弱爆了:) 还不快来看Thierry Lecroq 教授的主页,在上述网站上,教授给出了超过30种模式匹配算法的详细介绍(有图有文有例子)和实现代码。实在是不可多得但又未被人知的宝藏。国内很多教科书、文章、博客都是以讹传讹,连KMP和MP算法的不同都搞不清楚,常常将二者混为一谈,殊不知它们是两个算法。这个问题讲起来话太长,总之各位还是要明辨真伪,自身水平挺高了,才不会收到误导。

    2、美国佛罗里达国际大学Mark Allen Weiss教授的主页

    http://users.cis.fiu.edu/~weiss/

    Weiss教授是Knuth的徒孙(因为他博士导师是塞奇威克)。他在教书育人上的成就其实比他在学术上的成就更大。其关于数据结构方面的教材在全世界大学范围内被广泛采用(后面我还要推荐他的著作),并曾荣获SIGCSE计算机科学教育杰出成就奖。他的数据结构书籍有多个版本,既有Java版,又有C++版,还有C版。而他的主页提供了所有这些书籍中的源代码下载。你能想过的数据结构,他基本都实现过,所以具有极高的参考价值。

    3、Leetcode

    https://leetcode.com/problemset/algorithms/

    这个网站名气很大!CSDN上到处是其中题目的解答。相信读者可能已经了解过,这是美国一个IT笔试面试题目的online judge系统。里面搜罗了超过300道算法与数据结构相关的题目。刷Leetcode绝对是训练思维技巧、增进编码能力的好方法。我偶尔也从里面挑几道题目做做,觉得是一件很有趣的事情,我思故我在:) 但我其实有种相见恨晚的感觉。我知道它的时候,我的算法之美已经交稿编排了,(尽管后来发现我的书和Leetcode选的很多题目有很多类似的)但如果我早日知道它,应该会为我的新书增加更多精彩。Anyway,各位可千万别错过它。当然,Leetcode上题目的答案到处都是,但我还是建议你先自己做做看,抄别人的答案就没意思了,自己先做一遍再去看看别人有没有更好的方法,或许更有帮助。

    4、“那谁的技术博客”的主页

    http://www.cppblog.com/converse/category/974.html

    其实我本来想推荐July的主页的,他在CSDN上名气已经很大了,何况更有超过千万的超人气访问量。直到我看到了知乎的帖子http://www.zhihu.com/question/24957182。我不想评论他的事情,公道自在人心。我推荐“那谁的技术博客”主要是因为上述帖子中讲到July的很多内容抄袭了这个博客,我才寻根溯源找到原帖。我转而推荐原帖,也是表示对原创的一种支持。博主用了很长时间对Btree、红黑树、AVL树、字典树、二分查找树等树形搜索结构进行了总结,给出了难能可贵的实现代码,又分享给大家,希望大家能在用别人无私奉献的内容时,保留一份尊重。尊重他人也尊重自己。

    下面是一些书籍的点评(注意我用的词是点评,所以不是我列的所有书都是推荐。你要看清楚我具体说的内容)

    1、两本神作

    Knuth的《计算机程序设计艺术》,绝对业界巨擘,开山鼻祖,旷世奇书。国内中英文都已经有了,但是我非常推荐大家阅读。总之一句话,好书也不一定适合你。我在这评论它,因为我确实看过。别说没告诉你,书里的代码是用汇编语言写的,而且是Knuth大神自创的一种汇编语言,你要想想清楚,我想更多看本文的读者应该是处于学习阶段的,所以不要好高骛远。另外一本是《算法导论》,这个名气同样很大,对此我不做点评,因为我没看过,我不能对我没看过的东西做推荐。

    2、Weiss教授的书

    Weiss教授的书解决了我在早年学习数据结构时候的很多问题。我当时看的是清华出的C++版的影印版。中文版我作为比照参考最初也读过,后来也是因为翻译的不太理想就放弃了。现在不知道中文版的情况如何。Weiss教授的书还有Java版的。我主要看的是下面两本,强力推荐

    • Data Structures and Problem Solving Using C++
    • Data Structures and Algorithm Analysis in C++

    3、计算机算法设计与分析,王晓东,电子工业出版社

    我觉得这是中国人编写的非常好的教材,贪婪、分治、回溯、动态规划、概率算法等几大算法设计思想都有覆盖,并配合以许多典型问题的分析,还有关于P/NP问题的介绍。这本书可以作为研究算法的参考书来看。我自己看的是第2版,很老了,现在应该有更新版。

    其实数据结构的书我看过很多很多,所以我这确实还有一个不推荐的名单,但是那些书的推荐理由就跟Knuth的神作完全不一样了。。。为了避免给大家带来困扰我就不列出这个不推荐的名单了,原因你懂的。

    另外,推荐两部课外的业余读物(跟数据结构无关,但跟算法有关)

    5、图灵的秘密,查尔斯·佩措尔德,人民邮电出版社

    这是对图灵生平和他论文的解读。作者查尔斯·佩措尔德是大名鼎鼎的技术作家,他的另外一本神作是《Code:the hidden language behind the computer software and hardware》(中译本《编码:隐匿在计算机软硬件背后的语言》,译者不才正是在下》。图灵为了给出算法的精确定义(进而解决判定性问题)而石破天惊地构造了图灵机这种神器,这其实是现代计算机算法研究的一个重要开端。如果你连算法是什么都没定义好,那何谈算法研究呢?而要理解图灵当初提出的机器到底是啥,看这本书就对了。当然《图灵的秘密》这本书读起来其实有一定难度,如果你学过计算理论课程的话最好,或者你可以先读下面这本书,这会帮你更好地理解《图灵的秘密》。

    6、计算理论导引,Michael Sipser

    这是大学里计算理论课程的教材。但是我还是非常推荐你作为课外读物来读(如果你没学过相关课程的话)。如果说图灵的研究离我们很遥远,那么这本书其实拉近了图灵机和我们的距离。这本书会告诉你:我们讨论算法复杂度的大O表示法,本源就在于它是通过图灵机(方格的移动)来定义的。你在王晓东的书以及算法导论里会看到NP问题,而我更建议你看计算理论导引来了解P,NP,NP完全问题的本质。(插一句,我前面说我没看过算法导论,但是我看过目录,只是觉得从目录来看,内容我基本都是了解的,所以未读,但我也由此知道算法导论都讲了什么)

  • 相关阅读:
    SpringBoot 项目集成增强版 SwaggerKnife4j 附常见问题及解决方案
    ZooKeeper 06 ZooKeeper 的常用命令
    ZooKeeper 04 ZooKeeper 集群的节点为什么必须是奇数个
    TCP扫描增强器实现65000端口,10S完成,快准狠(Go语言编程)
    集群服务器的网络连接状态接入ELK(可视化操作)
    golang的ping检测主机存活
    Gin编写邮件告警接口(添加配置,项目拆分)
    Gin编写邮件接口(支持多人发送)
    Linux操作系统账号密码失效检测
    Rsyslog同步集群服务器的网络连接状态
  • 原文地址:https://www.cnblogs.com/sasuke-/p/5138492.html
Copyright © 2020-2023  润新知