目录




源码下载

第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问答题及其参考答案/