作者 |
何海涛 |
丛书名 |
出版社 |
电子工业出版社 |
ISBN |
9787121415203 |
简要 |
简介 |
内容简介书籍计算机书籍 本书全面、系统地总结了在准备程序员面试过程中必备的数据结构与算法。本书首先详细讨论整数、数组、链表、字符串、哈希表、栈、队列、二叉树、堆和前缀树等常用的数据结构,然后深入讨论二分查找、排序、回溯法、动态规划和图搜索等算法。除了介绍相应的基础知识,每章还通过大量的高频面试题系统地总结了各种数据结构与算法的应用场景及解题技巧。本书适合所有正在准备面试的程序员阅读。无论是计算机相关专业的应届毕业生还是初入职场的程序员,本书总结的数据结构和算法的基础知识及解题经验都不仅可以帮助他们提高准备面试的效率,还可以增加他们通过面试的成功率。 |
目录 |
第1章 整数\t1 1.1 整数的基础知识\t1 1.2 二进制\t4 1.3 本章小结\t13 第2章 数组\t14 2.1 数组的基础知识\t14 2.2 双指针\t15 2.3 累加数组数字求子数组之和\t22 2.4 本章小结\t28 第3章 字符串\t30 3.1 字符串的基础知识\t30 3.2 双指针\t31 3.3 回文字符串\t41 3.4 本章小结\t45 第4章 链表\t46 4.1 链表的基础知识\t46 4.2 哨兵节点\t47 4.3 双指针\t50 4.4 反转链表\t58 4.5 双向链表和循环链表\t66 4.6 本章小结\t71 第5章 哈希表\t73 5.1 哈希表的基础知识\t73 5.2 哈希表的设计\t74 5.3 哈希表的应用\t82 5.4 本章小结\t91 第6章 栈\t92 6.1 栈的基础知识\t92 6.2 栈的应用\t93 6.3 本章小结\t108 第7章 队列\t109 7.1 队列的基础知识\t109 7.2 队列的应用\t110 7.3 二叉树的广度优先搜索\t114 7.4 本章小结\t125 第8章 树\t126 8.1 树的基础知识\t126 8.2 二叉树的深度优先搜索\t127 8.3 二叉搜索树\t141 8.4 TreeSet和TreeMap的应用\t153 8.5 本章小结\t160 第9章 堆\t161 9.1 堆的基础知识\t161 9.2 堆的应用\t165 9.3 本章小结\t172 第10章 前缀树\t174 10.1 前缀树的基础知识\t174 10.2 前缀树的应用\t179 10.3 本章小结\t191 第11章 二分查找\t192 11.1 二分查找的基础知识\t192 11.2 在排序数组中二分查找\t193 11.3 在数值范围内二分查找\t201 11.4 本章小结\t205 第12章 排序\t206 12.1 排序的基础知识\t206 12.2 计数排序\t208 12.3 快速排序\t211 12.4 归并排序\t215 12.5 本章小结\t222 第13章 回溯法\t224 13.1 回溯法的基础知识\t224 13.2 集合的组合、排列\t226 13.3 回溯法解决其他类型问题\t235 13.4 本章小结\t239 第14章 动态规划\t241 14.1 动态规划的基础知识\t241 14.2 单序列问题\t248 14.3 双序列问题\t266 14.4 矩阵路径问题\t281 14.5 背包问题\t293 14.6 本章小结\t303 第15章 图\t305 15.1 图的基础知识\t305 15.2 图的搜索\t307 15.3 拓扑排序\t333 15.4 并查集\t342 15.5 本章小结\t354 |