从数据结构到算法

一、认证 比赛 题解

认证 比赛 题解

二、数据结构

链表

链表反转
倒数第k个节点
链表相加
合并有序链表
平移链表
删除链表的节点
环形链表

栈的实现
51Nod_1289 大鱼吃小鱼
栈与队列的相互实现
栈 | 最小栈【单调栈】
POJ3250 Bad Hair Day【单调栈】
POJ2559 Largest Rectangle in a Histogram【单调栈】
POJ2796 Feel Good【单调栈+前缀和 非负区间最小值乘区间和】
POJ3494 Largest Submatrix of All 1’s【单调栈 01矩阵中最大的1矩形】
POJ1964 City Game【单调栈 01矩阵中最大的1矩形】
I、Max answer【单调栈+前缀和+RMQ】
51Nod_1279 扔盘子

队列

队列的实现
栈与队列的相互实现
POJ2823 Sliding Window【单调队列】

二叉树

二叉树的前序/中序/后序遍历的非递归实现
二叉树的层次遍历
二叉树的深度
判断二叉树是否相同
对称二叉树
建立二叉树
从根到叶节点
翻转二叉树
最近公共祖先 LCA

二叉搜索树

二叉查找树
验证二叉搜索树
二叉搜索树中第K小的元素
二叉搜索树的查找操作
二叉搜索树的删除操作
二叉搜索树的插入操作
二叉搜索树结点最小距离

AVL树

AVL树的实现

并查集

并查集
POJ2253 Frogger【并查集+贪心】
POJ1308 Is It A Tree?【并查集】
HDU1272 小希的迷宫【并查集】
HDU4496 D-City【并查集】
HDU3047 Zjnu Stadium【种类并查集】
POJ2492 A Bug’s Life【种类并查集】
POJ1703 Find them, Catch them【种类并查集】
POJ1733 Parity game【离散化+带权并查集 区间统计】
HDU3635 Dragon Balls【带权并查集 统计】
POJ1988 Cube Stacking【带权并查集 统计】
POJ1182 食物链【种类并查集】
HDU3038 How Many Answers Are Wrong【带权并查集 区间统计】
HDU1213 How Many Tables【并查集】
POJ2236 Wireless Network【并查集】
POJ1611 The Suspects【并查集】
CCF201703-4 地铁修建
POJ1797 Heavy Transportation【并查集+贪心】
L2-013 红色警报【并查集】

字典树

字典树
HDU5536 Chip Factory【01字典树】
HDU4825 Xor Sum【01字典树】
POJ2503 Babelfish【映射】
POJ2001 Shortest Prefixes【字典树】
HDU5687 Problem C【字典树】
POJ1056 IMMEDIATE DECODABILITY【字典树】
codevs 4189 字典【字典树】
HDU1251 统计难题 【字典树】
BZOJ4260 Codechef REBXOR【01字典树】

树状数组

树状数组
求区间不同数的个数【树状数组求解】
HDU1166 敌兵布阵【树状数组 单点修改+区间查询】

线段树

线段树从零开始
线段树详解 (原理,实现与应用)
线段树经典题目(一定要做完)
数列求和【线段树基础】
HDU1166 敌兵布阵【线段树基础:点修改+区间查询】
HDU1754 I Hate It 【线段树基础:点修改+区间查询】
HDU1698 Just a Hook【线段树基础:区间修改+区间查询】
ACM-ICPC 2017 南宁赛区网络预赛 F Overlapping Rectangles 【线段树之扫描线用法】
HDU1394 Minimum Inversion Number【线段树 点修改+区间查询】
POJ2828 Buy Tickets【线段树 点修改+区间查询】
POJ2886 Who Gets the Most Candies?【线段树 点修改】
POJ2528 Mayor’s posters【离散化+线段树区间修改】
POJ3468 A Simple Problem with Integers【线段树 区间修改+区间求和】
POJ2777 Count Color【线段树 区间覆盖】
HDU1542 Atlantis【线段树+扫描线+离散化】
POJ3667 Hotel【线段树 区间合并+区间覆盖】
UVA1400 Ray, Pass me the dishes!" 【线段树 区间合并】
HDU2795 Billboard【线段树 点修改+区间查询】
2017ACM/ICPC广西邀请赛 CS Course
ACM-ICPC 2018 徐州赛区网络预赛 H. Ryuji doesn’t want to study 【线段树】
ACM-ICPC 2018 南京赛区网络预赛 __G Lpl and Energy-saving Lamps【线段树+模拟】
HDU3308 LCIS【线段树 区间合并】

主席树

主席树
HDU2665 Kth number【主席树】
HDU4417 Super Mario【主席树】
求区间不同数的个数【主席树求解】
CCPC2018-湖南全国邀请赛 HDU6278 Just h-index【主席树+二分查找】

树链剖分

树链剖分
P3384 【模板】树链剖分

二叉堆的实现
左倾堆的实现
斜堆的实现

图论

最小生成树
次小生成树
最短路径
差分约束
欧拉路径和欧拉回路
拓扑排序
二分图
网络流
分层图
有向图强连通分支
无向连通图求割点和桥
无向连通图点双连通分量
无向连通图边双连通分量
构造双连通图

三、算法

算法分析

时间复杂度的五个记号
级数求和
循环操作的复杂度
递归跟踪
递推方程

查找和排序

查找算法
排序算法

搜索

搜索

字符串

字符串

动态规划

动态规划

贪心法

贪心法

数论

数论

矩阵

矩阵计算

其他

逆序数
博弈论
高精度
位运算
状态压缩
尺取法
进制与分数
RMQ
计算几何
组合数学

你可能感兴趣的:(学习目录)