科技>计算机>计算机科学
图解算法小册  

图解算法小册  "

作者:林小浩
ISBN:9787121452871
定价:¥129.0
字数:426千字
页数:328
出版时间:2023-05
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书以图文并茂的方式对面试中的高频算法题进行讲解,重点关注解决问题的策略,旨在帮助广大读者更好地厘清各类算法题目的解题思路。 本书分系列对算法题目进行讲解,包括数组系列、链表系列、动态规划系列、字符串系列、二叉树系列、滑动窗口系列、博弈论系列、排序系列、位运算系列、二分查找系列以及其他补充题目。 本书适合数据结构和算法知识的初学者、希望从事IT行业工作的入门人员,以及具有一定基础的IT行业从业者阅读,也可作为大、中专院校计算机等相关专业的参考书。

前言

本书面向算法小白和初中阶读者,没有学习门槛,所有代码均已在 LeetCode 上测试运行。书中的题目分类汇编,方便读者将相同类型的题目进行比较。在每道题目中都尽量补充一些基础知识,同时配有完整的图解,以达到学以致用的目的。 本书对于所有题目的讲解都以掌握为目标,不追求奇淫技巧,毕竟我们不是专门研究算法的人。我见过太多算法初学者,一个题解看不懂,转头又去看第二个,第二个看不懂,又去看第三个,直到最后放弃。这样做既没能弄懂题目,又白白浪费了时间,不如踏踏实实把一种思路理解得清楚透彻。希望你学完本书能够掌握基本的数据结构与算法知识,并且能够独立解答高频面试算法题。 我期望大家更多的去关注算法本身,而不是语言层面的东西。本书使用的语言较多,没有局限于Java和Go,并且不会使用任何语法特性,所有没有系统学习过编程语言的读者也可以顺利阅读此书,希望大家不要被语言束缚。

目录

第01章 数组系列 1 两个数组的交集(350) 1 最长公共前缀(14) 4 买卖股票的最佳时机(122) 6 旋转数组(189) 9 原地删除(27) 11 删除排序数组中的重复项(26) 12 加1(66) 14 两数之和(1) 17 三数之和(15) 18 Z字形变换(6) 22 螺旋矩阵Ⅰ(54) 27 螺旋矩阵Ⅱ(59) 31 24点游戏(679) 33 第k大的元素(215) 38 有效的数独(36) 42 生命游戏(289) 47 旋转图像(48) 52 第02章 链表系列 57 删除链表倒数第N个节点(19) 57 合并两个有序链表(21) 60 环形链表(141) 62 两数相加(2) 66 LRU缓存机制(146) 69 第03章 动态规划系列 81 爬楼梯(70) 81 最大子序和(53) 84 最长上升子序列(300) 86 三角形最小路径和(120) 89 最小路径和(64) 94 “打家劫舍”(198) 99 不同路径 103 不同路径——障碍物 106 只有两个键的键盘(650) 110 飞机座位分配概率(1227) 113 整数拆分(343) 116 第04章 字符串系列 119 反转字符串(344) 119 字符串中第1个不重复字符(387) 120 实现Sunday匹配 122 大数打印 126 验证回文串(125) 130 KMP 132 旋转字符串(796) 146 最后一个单词的长度(58) 149 猜数字游戏(299) 153 整数转罗马数字(12) 155 第05章 二叉树系列 160 最大深度与DFS(104) 160 层次遍历与BFS(102) 164 BST与其验证(98) 168 BST的查找(700) 170 删除二叉搜索树中的节点(450) 173 平衡二叉树(110) 176 完全二叉树的节点个数(222) 179 二叉树的剪枝(814) 183 第06章 滑动窗口系列 187 滑动窗口最大值(239) 187 无重复字符的最长子串(3) 190 字母异位词(438) 195 和为s的连续正数序列 200 第07章 博弈论系列 203 囚徒困境 203 辛普森悖论 204 红眼睛和蓝眼睛 206 海盗分金币 207 智猪博弈 209 硬币问题 210 画圈圈的问题 211 巧克力问题 212 大鱼和小鱼的问题 214 Nim游戏(292) 216 第08章 排序系列 219 按奇偶排序数组(905) 219 扑克牌中的“顺子” 222 第09章 位运算系列 224 使用位运算求和 224 2的幂(231) 226 返回二进制中1的个数(191) 228 只出现一次的数字Ⅰ(136) 232 只出现一次的数字Ⅱ(137) 235 缺失数字(268) 240 第10章 二分查找系列 243 爱吃香蕉的阿珂(875) 243 x的平方根(69) 247 第1个错误的版本(278) 250 旋转排序数组中的最小值Ⅰ(153) 252 旋转排序数组中的最小值Ⅱ(154) 256 供暖器(475) 258 寻找两个正序数组的中位数(4) 260 搜索二维矩阵(74) 265 第11章 其他补充题目 268 水分子的产生 268 救生艇(881) 271 25匹马的问题 273 灯泡开关(319) 276 三门问题 279 最小的k个数 282 盛最多水的容器 288 移动石子直到连续(1033) 293 镜面反射(858) 295 荷兰国旗问题 297 由6和9组成的最大数字(1323) 302 费米估算 303 面试中的智力题Ⅰ 306 面试中的智力题Ⅱ 307 图的基础知识 308 全排列算法 312

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个