目录 源码下载 第1章概论/ 1.1单项选择题及其参考答案/ 1.2问答题及其参考答案/ 1.3算法设计题及其参考答案/ 第2章常用数据结构及其应用/ 2.1单项选择题及其参考答案/ 2.2问答题及其参考答案/ 2.3算法设计题及其参考答案/ 2.4上机实验题及其参考答案/ 2.4.1高效地插入、删除和查找/ 2.4.2一种特殊的队列/ 2.4.3方块操作/ 2.5在线编程题及其参考答案/ 2.5.1LeetCode328——奇偶链表/ 2.5.2LeetCode394——字符串解码/ 2.5.3LeetCode215——数组中的第k个最大元素/ 2.5.4HDU1280——前m大的数/ 2.5.5POJ2236——无线网络/ 第3章基本算法设计方法/ 3.1单项选择题及其参考答案/ 3.2问答题及其参考答案/ 3.3算法设计题及其参考答案/ 3.4上机实验题及其参考答案/ 3.4.1求最长重复子串/ 3.4.2求子矩阵元素和/ 3.4.3求n阶螺旋矩阵/ 3.4.4验证汉诺塔问题/ 3.5在线编程题及其参考答案/ 3.5.1LeetCode344——反转字符串/ 3.5.2LeetCode206——反转链表/ 3.5.3LeetCode24——两两交换链表中的结点/ 3.5.4LeetCode62——不同路径/ 3.5.5HDU1003——最大子序列和/ 3.5.6HDU1143——三平铺问题/ 3.5.7POJ2231——奶牛的总音量/ 3.5.8POJ1050——最大子矩形/ 第4章分治法/ 4.1单项选择题及其参考答案/ 4.2问答题及其参考答案/ 4.3算法设计题及其参考答案/ 4.4上机实验题及其参考答案/ 4.4.1将一个整数数组划分为两个和差值最大的子数组/ 4.4.2四路归并排序/ 4.4.3查找假币问题/ 4.4.4求众数/ 4.4.5求汉诺塔Ⅱ/ 4.4.6求Fibonacci数列/ 4.5在线编程题及其参考答案/ 4.5.1LeetCode240——搜索二维矩阵Ⅱ/ 4.5.2LeetCode35——搜索插入位置/ 4.5.3LeetCode33——搜索旋转排序数组/ 4.5.4LeetCode162——寻找峰值/ 4.5.5HDU2141——能否找到X/ 4.5.6HDU2199——解方程/ 4.5.7HDU1040——排序/ 4.5.8HDU1157——求中位数/ 4.5.9HDU1007——套圈游戏/ 4.5.10POJ2255——由二叉树的中序和先序序列产生后序 序列/ 4.5.11POJ1854——转换为回文的交换次数/ 4.5.12POJ1995——求表达式的值/ 第5章回溯法/ 5.1单项选择题及其参考答案/ 5.2问答题及其参考答案/ 5.3算法设计题及其参考答案/ 5.4上机实验题及其参考答案/ 5.4.1象棋算式/ 5.4.2子集和/ 5.4.3迷宫路径/ 5.4.4哈密顿回路/ 5.5在线编程题及其参考答案/ 5.5.1LeetCode216——组合总和Ⅲ/ 5.5.2LeetCode39——组合总和/ 5.5.3LeetCode131——分割回文串/ 5.5.4HDU1027——第k小的排列/ 5.5.5HDU2553——n皇后问题/ 5.5.6HDU2616——杀死怪物/ 5.5.7POJ3187——向后数字和/ 5.5.8POJ1321——棋盘问题/ 5.5.9POJ2488——骑士游历/ 5.5.10POJ1040——运输问题/ 5.5.11POJ1129——最少频道数/ 第6章分支限界法/ 6.1单项选择题及其参考答案/ 6.2问答题及其参考答案/ 6.3算法设计题及其参考答案/ 6.4上机实验题及其参考答案/ 6.4.1在原始森林中解救A/ 6.4.2装载问题/ 6.4.3最小机器重量设计问题Ⅰ/ 6.4.4最小机器重量设计问题Ⅱ/ 6.4.5货郎担问题/ 6.5在线编程题及其参考答案/ 6.5.1LeetCode847——访问所有结点的最短路径/ 6.5.2LeetCode1376——通知所有员工所需的时间/ 6.5.3HDU1242——救援问题/ 6.5.4HDU1548——奇怪的电梯/ 6.5.5HDU1869——六度分离/ 6.5.6HDU2425——徒步旅行/ 6.5.7HDU1072——变形迷宫/ 6.5.8POJ2312——坦克游戏/ 第7章贪心法/ 7.1单项选择题及其参考答案/ 7.2问答题及其参考答案/ 7.3算法设计题及其参考答案/ 7.4上机实验题及其参考答案/ 7.4.1畜栏保留问题/ 7.4.2删数问题/ 7.4.3求所有最小生成树/ 7.4.4改进Dijkstra算法/ 7.4.5字符串的编码和解码/ 7.5在线编程题及其参考答案/ 7.5.1LeetCode455——分发饼干/ 7.5.2LeetCode135——分发糖果/ 7.5.3LeetCode56——合并区间/ 7.5.4HDU2037——看电视节目/ 7.5.5HDU1009——老鼠的交易/ 7.5.6HDU3177——装备问题/ 7.5.7HDU2111——取宝贝/ 7.5.8POJ2376——分配清洁班次/ 7.5.9POJ2726——假日酒店/ 7.5.10POJ1328——安装雷达/ 第8章动态规划/ 8.1单项选择题及其参考答案/ 8.2问答题及其参考答案/ 8.3算法设计题及其参考答案/ 8.4上机实验题及其参考答案/ 8.4.1求矩阵最小路径和/ 8.4.2双核处理问题/ 8.4.3划分集合为和相等的两个子集合/ 8.4.4员工分配问题/ 8.5在线编程题及其参考答案/ 8.5.1LeetCode64——最小路径和/ 8.5.2LeetCode1289——下降路径最小和Ⅱ/ 8.5.3LeetCode638——大礼包/ 8.5.4LeetCode139——单词拆分/ 8.5.5LeetCode377——组合总和Ⅳ/ 8.5.6LeetCode354——俄罗斯套娃信封问题/ 8.5.7LeetCode583——两个字符串的删除操作/ 8.5.8LeetCode122——买卖股票的最佳时机Ⅱ/ 8.5.9HDU2602——收集物品/ 8.5.10HDU1114——存钱罐/ 8.5.11HDU2044——一只小蜜蜂/ 8.5.12POJ1050——最大子矩形和/ 8.5.13POJ1157——花店/ 8.5.14POJ1159——回文/ 8.5.15POJ1243——猜价格游戏/ 8.5.16POJ3311——送比萨/ 第9章NP完全问题/ 9.1单项选择题及其参考答案/ 9.2问答题及其参考答案/