挑战程序设计竞赛2 算法和数据结构 读后感

介绍

本篇主要是讲《挑战程序设计竞赛2 算法和数据结构》书的读后感和部分题目的再次解读、编程。包括书中的部分代码和一些个人的见解。如果想深入了解,建议去网上买一本回来看,比较适合学习算法的初学者。

章节

第一章

第一章主要让你在AOJ处注册登录,然后开始做题

第二章

2.5 入门问题 ALDS1_1_D:Maximum Profit

第三章 初等排序

3.2 插入排序法 ALDS1_1_A:Insertion Sort
3.3 冒泡排序法 ALDS1_2_A:Bubble Sort
3.4 选择排序法 ALDS1_2_B:Selection Sort
3.5 稳定排序 ALDS1_2_C:Stable Sort
3.6 希尔排序法 ALDS1_2_D:Shell Sort

第四章 数据结构

4.2 栈 ALDS1_3_A:Stack
4.3 队列 ALDS1_3_B:Queue
4.4 链表 ALDS1_3_C:Doubly Linked List
4.6 计算面积 ALDS1_3_D:Areas on the Cross-Section Diagram

第五章 搜索

5.2 线性搜索 ALDS1_4_A:Linear Search
5.3 二分搜索 ALDS1_4_B Binary Search
5.4 散列法 ALDS1_4_C:Dictionary
5.6 计算最优解 ALDS1_4_D:Allocation

第六章 递归和分治法

6.2 穷举搜索 ALDS1_5_A:Exhaustive Search
6.3 科赫曲线 ALDS1_5_C:Koch Curve

第七章 高等排序

7.1 归并排序 ALDS1_5_B:Merge Sort
7.2 分割 ALDS1_6_B:Partition
7.3 快速排序 ALDS1_6_C:Quick Sort
7.4 计数排序 ALDS1_6_A:Counting Sort
7.6 逆序数 ALDS1_5_D:The Number of Inversions
7.7 最小成本排序 ALDS1_6_D:Minimum Cost Sort

第八章 树

8.2 有根树的表达 ALDS1_7_A:Rooted Trees
8.3 二叉树的表达 ALDS1_7_B:Binary Trees
8.4 树的遍历 ALDS1_7_C:Tree Walk
8.5 树的重建 ALDS1_7_D:Reconstruction of a Tree

第九章 二叉搜索树

9.2 二叉搜索树–插入 ALDS1_8_A:Binary Search Tree I
9.3 二叉搜索树–搜索 ALDS1_8_B:Binary Search Tree II
9.4 二叉搜索树–删除 ALDS1_8_C:Binary Search Tree III

第十章 堆

10.2 完全二叉树 ALDS1_9_A:Complete Binary Tree
10.3 最大/最小堆 ALDS1_9_B: Maximum Heap
10.4 优先级队列 ALDS1_9_C:Priority Queue

第十一章 动态规划法

11.2 斐波那契数列 ALDS1_10_A:Fibonacci Number
11.3 最长公共子序列 ALDS1_10_C:Longest Common Subsequence
11.4 矩阵链乘法 ALDS1_10_B:Matrix Chain Multiplication

第十二章 图

12.2 图的表示 ALDS1_11_A:Graph
12.3 深度优先搜索 ALDS1_11_B:Depth First Search
12.4 广度优先搜索 ALDS1_11_C:Breadth First Search
12.5 连通分量 ALDS1_11_D:Connected Components

第十三章 加权图

13.2 最小生成树 ALDS1_12_A:Minimum Spanning Tree
13.3 单源最短路径 I ALDS1_12_B:Single Source Shortest Path I
13.3 单源最短路径II ALDS1_12_C:Single Source Shortest Path II

第十四章 高等数据结构

14.1 并查集 DSL_1_A:Disjoint Set: Union Find Tree
14.2 kD Tree DSL_2_C:Range Search (kD Tree)

第十五章 高等图算法

15.1 所有点对间最短路径 GRL_1_C:All Pairs Shortest Path
15.2 拓扑排序 GRL_4_B:Topological Sort
15.3 关节点 GRL_3_A:Articulation Points
15.4 树的直径 GRL_5_A:Diameter of a Tree
15.5 最小生成树 GRL_2_A:Minimum Spanning Tree

第十六章 计算几何学

16.1 - 16.12 计算几何模版 计算几何模版
16.13 线段相交问题 CGL_6_A:Segment Intersections: Manhattan Geometry

第十七章 动态规划法

17.1 硬币问题 DPL_1_A:Coin Changing Problem
17.2 背包问题 DPL_1_B:0-1 Knapsack Problem
17.3 最长递增子序列 DPL_1_D:Longest Increasing Subsequence
17.4 最长正方形 DPL_3_A:Largest Square
17.5 最长长方形 DPL_3_B: Largest Rectangle

第十八章 数论

18 数论 基础数论

第十九章 启发式搜索

19.1 八皇后问题 ALDS1_13_A:8 Queens Problem
19.2 九宫格拼图 ALDS1_13_B:8 Puzzle
19.3 十六格拼图 ALDS1_13_C:15 Puzzle

完结

你可能感兴趣的:(挑战程序设计竞赛2,算法和数据结构,挑战程序设计竞赛2,算法和数据结构)