数据结构与算法图解
;
副标题:无;
作者: [美] 杰伊 • 温格罗;
内容简介:
前言
数据结构与算法并不只是抽象的概念,掌握好的话可以写出更高效、运行得更快的代码,这对于如今盛行的网页和移动应用开发来说尤为重要。如果你最近一次使用算法是在大学课堂上或求职面试时,那你应该还没见识到它的真正威力。
这个主题的大多数资料都有一种通病——晦涩难懂。满纸的数学术语,搞得除非你是数学家,不然真不知道作者在说什么。即使是一些声称“简化”过的书,看起来也好像已经认定读者都掌握了高深的数学知识。这就导致了很多人对此主题望而生畏,以为自己的智商不足以理解这些概念。
但事实上,数据结构与算法都是能够从常识推导出来的。数学符号只是一种特定的语言,数学里的一切都是可以用常识去解释的。本书用到的数学知识就只有加减乘除和指数,所有的概念都可以用文字来解释。我还会采用大量的图表以便读者轻松地理解。
一旦掌握了这些知识,你就能写出高效、快速、优雅的代码。你还能权衡各种写法的优劣,并能合理判断适用于给定情况的最优方案。
一些读者可能是因为学校开设了这门课或者为准备技术面试而阅读本书的。本书对计算机科学基础的解释能有效地帮助你达到目的。此外,我还鼓励你正视这些概念在日常编程中的实用价值。为此,我将书中阐述的概念与实际结合,其中的用例都可供大家使用。
目标读者
本书适合以下读者。
有编程基础的初级开发者,想学习一些计算机科学的基本概念,以优化代码,提高编程技能。
自学编程的开发者,没学过正规的计算机科学课程(或者学过但忘光了),现在想利用数据结构与算法使代码更灵活、更具扩展性。
计算机科学专业的学生,希望找到用简洁语言阐述数据结构与算法的资料。这本书很适合作为“经典”教材的补充参考。
开发人员,平时也许没怎么利用过数据结构与算法的知识,希望复习这些概念为下次技术面试做准备。
为了使本书不特定于某种语言,我们的示例代码会用到多种语言,包括Ruby、Python和JavaScript,了解这.....
目录预览:
数据结构与算法图解
版权声明
前言
第 1 章 数据结构为何重要
第 2 章 算法为何重要
第 3 章 大O记法
第 4 章 运用大O来给代码提速
第 5 章 用或不用大O来优化代码
第 6 章 乐观地调优
第 7 章 查找迅速的散列表
第 8 章 用栈和队列来构造灵巧的代码
第 9 章 递归
第 10 章 飞快的递归算法
第 11 章 基于结点的数据结构
第 12 章 让一切操作都更快的二叉树
第 13 章 连接万物的图
第 14 章 对付空间限制