挑战程序设计竞赛2 算法与数据结构 笔记

第一部分 学习方法

第一章 使用 AOJ 会津大学OJ

国内有的时候访问AOJ比较卡,可以使用 vjudge 来做题.

第二部分 基础数据结构和算法

第二章 算法和复杂度
第三章 初等排序

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   题目链接     题解笔记

第四章 数据结构   stack queue vector list 总结    dqueue总结

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    题目链接     题解笔记      STL实现排序
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    题目链接     题解笔记

第十章 堆 set map pair 总结   priority_queue简述

10.2 完全二叉树 ALDS1_9_A:Complete Binary Tree    题目链接     题解笔记
10.3 最大/最小堆 ALDS1_9_B: Maximum Heap    题目链接     题解笔记
10.4 优先级队列 ALDS1_9_C:Priority Queue    题目链接     题解笔记 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 深度优先搜索[DFS] ALDS1_11_B:Depth First Search    题目链接     题解笔记
12.4 广度优先搜索[BFS] ALDS1_11_C:Breadth First Search    题目链接     题解笔记
12.5 连通分量 染色法 ALDS1_11_D:Connected Components    题目链接     题解笔记


第三部分 高级数据结构和算法模板

第十三章 加权图

13.2 最小代价生成树 prim算法求MST ALDS1_12_A:Minimum Spanning Tree    题目链接     题解笔记
13.3 单源最短路径 dijkstra算法 I ALDS1_12_B:Single Source Shortest Path I    题目链接     题解笔记
13.3 单源最短路径II 优先队列实现的dijkstra算法 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 所有点对间最短路径 floyd算法 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 最小生成树 Kruskal算法 GRL_2_A:Minimum Spanning Tree   题目链接     题解笔记

第十六章 计算几何学

16.1 - 16.10 计算几何模版 常用算法整理    转载计算几何模版
16.11 点的内包 CGL_3_C:Polygon-Point Containment   题目链接     题解笔记
16.12 凸包问题的andrew算法 CGL_4_A:Convex Hull   题目链接     题解笔记
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.1 质数检验 几种常用筛法 ALDS1_1_C:Prime Numbers    题目链接     题解笔记
18.2 最大公约数 辗转相除法 ALDS1_1_B:Greatest Common Divisor   题目链接     题解笔记
18.3 幂乘 二分幂 快速幂算法 NTL_1_B:Power   题目链接     题解笔记

第十九章 启发式搜索

19.1 八皇后问题 ALDS1_13_A:8 Queens Problem    题目链接     题解笔记
19.2 九宫格拼图 ALDS1_13_B:8 Puzzle    题目链接     题解笔记
19.3 十六格拼图 A* / IDA*算法 ALDS1_13_C:15 Puzzle    题目链接     题解笔记-转载

后续有的章节里还有一些补充的知识点,以后做题遇到会再补充进来!

你可能感兴趣的:(挑战程序设计竞赛2,算法与数据结构,挑战程序设计竞赛2,算法与数据结构,笔记,挑战程序设计竞赛2,算法与数据结构,读后感,读书笔记)