-
啊哈!算法
这不过是一本有趣的算法书而已。和别的算法书比较,如果硬要说它有什么特点的话,那就是你能看懂它。 这是一本充满智慧和趣味的算法入门书。没有枯燥的描述,没有难懂的公式,一切以实际应用为出发点, 通过幽默的语言配以可爱的插图来讲解算法。你更像是在阅读一个个轻松的小故事或是在玩一把趣味解谜 游戏,在轻松愉悦中便掌握算法精髓,感受算法之美。 本书中涉及到的数据结构有栈、队列、链表、树、并查集、堆和图等;涉及到的算法有排序、枚举、 深度和广度优先搜索、图的遍历,当然还有图论中不可以缺少的四种最短路径算法、两种最小生成树算法、 割点与割边算法、二分图的最大匹配算法等。 网名啊哈磊。 曾在中科院玩过单片机。武汉大学历史上第一位以本科生身份加入MSRA(微软亚洲研究院)的小伙伴,在机器学习组从事搜索引擎方面的研究。 发表国际会议论文一篇(IEEE)。 全国青少年信息学奥林匹克金牌教练。 超萌超简洁的C语言编译器——“啊哈C编译器”作者。 2013年我的著作,有趣的编程科普书《啊哈C!》出版。 网址:www.ahalei.com 微博:weibo.com/ahalei 非常喜欢小朋友,每天都过得都非常开心。 至于为什么叫“啊哈磊”,因为我觉得这是一个很喜庆的名字。 -
算法设计技巧与分析
本书是国际著名算法专家李德财教授主编的系列丛书“Lecture Notes Series on Computing”中的一本。本书涵盖了绝大多数算法设计中的一般技术,在表达每一种技术时,阐述它的应用背景,注意用与其他技术比较的方法说明它的特征,并提供大量相应实际问题的例子。本书同时也强调了对每一种算法的详细的复杂性分析。全书分七部分19章,从算法设计和算法分析的基本概念和方法入手,先后介绍了递归技术、分治、动态规划、贪心算法、图的遍历等技术,对NP完全问题进行了基本但清楚的讨论。对概率算法、近似算法和计算几何这些近年来发展迅猛的领域也用一定的篇幅讲述了基本内容。书中每章后都附有大量的练习题,有利于读者对书中内容的理解和应用。 本书结构简明,内容丰富,适合于作为计算机学科以及相关学科算法课程的教材和参考书,尤其适宜于学过数据结构和离散数学课程之后的算法课教材。同时也可作为从事算法研究的一本好的入门书。 -
算法设计与分析基础
作者基于丰富的教学经验,开发了一套全新的算法分类方法。该分类法站在通用问题求解策略的高度,对现有大多数算法准确分类,从而引领读者沿着一条清晰、一致、连贯的思路来探索算法设计与分析这一迷人领域。《算法设计与分析基础(第3版)》作为第3版,相对前版调整了多个章节的内容和顺序,同时增加了一些算法,并扩展了算法的应用,使得具体算法和通用算法设计技术的对应更加清晰有序;各章累计增加了70道习题,其中包括一些有趣的谜题和面试问题。《算法设计与分析基础(第3版)》十分适合用作算法设计和分析的基础教材,也适合任何有兴趣探究算法奥秘的读者使用,只要读者具备数据结构和离散数学的知识即可。 -
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索
本书通过C++实现方案以简洁、直接的方式对书中的算法和数据结构进行表述,并向学生提供在实际应用中验证这种方法的手段。 本书广泛地论述了与排序、搜索及相关应用有关的基本数据结构和算法。覆盖了数组、链表、串、树和其他基本数据结构,更多地强调抽象数据类型(ADT)、模块化程序设计、面向对象程序设计和C++类。本书包括排序、选择、优先队列ADT实现和符号表ADT(搜索)实现,配有帮助学生学习计算机算法特性的1000多种新练习、100多个图表以及大量的程序例子。 Robert Sedgewick完全重定了他的著作,对它进行了充分的扩展和更新,涵盖了目前重要的算法和数据结构。Christopher Van Wyk和Sedgewick开发的新实现采用的是C++语言,这种实现不仅能简洁直接地表达算法,而且给编程者提供了实践的方法,以便在真正的应用中测试这些算法。 新的版本提供了很多新算法,而且对每个算法的解释也比以前的版本详细得多。新的版面设计以及详细、富有创意并且具有注释的插图,使本书的表达能力大大地提高了。第三版保留了将理论和实践成功混合在一起的特点,正是这一点,使Sedgewick的著作成为25万多名程序员无价的参考资源。 本书是全卷的前半部分,涵盖了基本的数据结构、排序算法、搜索算法以及它们的相关应用。虽然本书实质上可以用于各种语言的程序设计,Christopher Van Wyk和Sedgewick的实现都采用了C++类和ADT实现的自然对应。 本书的精彩内容包括: ·扩展了对数组、链表、字符串树及其他基本数据结构的介绍。 ·比以前的版本更中着重于抽象数据类型(ADT)、模块化程序设计方法、面向对象的程序 设计方法和C++类。 ·有关排序、选择、优先级队列ADT实现和符号表ADT(搜索)实现的算法,超过100个。 ·关于二项式队列、多路基数排序、随机化BST、发散树、跳跃表、多叉线索、B树、可扩充散列等,采用了新的实现。 ·关于算法的量化分析,是比较算法的依据。 ·1000多条新的练习,帮助读者学习算法。 无论是你初学算法,还是想找一本将最新C++经典算法和新算法融入程序设计的参考手册,你都会发现本书提供了丰富的有用信息。 -
数据结构与算法分析
《数据结构与算法分析:C++描述(第3版)》是数据结构和算法分析的经典教材,书中使用主流的程序设计语言C++作为具体的实现语言。书的内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。《数据结构与算法分析:C++描述(第3版)》适合作为计算机相关专业本科生的数据结构课程和研究生算法分析课程的教材。本科生的数据结构课程可以使用《数据结构与算法分析:C++描述(第3版)》第1章~第9章,多学时课程还可以讲解第10章;研究生算法分析课程可以使用第6章~第12章。