在这篇文章中,“竞争性编码的十大重要算法和数据结构”。
话题 :
- 图算法
- 动态编程
- 搜索和排序:
- 数论及其他数学
- 几何和网络流算法
- 数据结构
以下链接涵盖了所有最重要的算法和数据结构主题:
图算法
- 广度优先搜索(BFS)
- 深度优先搜索(DFS)
- 从源到所有顶点的最短路径** Dijkstra **
- 每个顶点到另一个顶点的最短路径**弗洛伊德·沃舍尔**
- 最小生成树** Prim **
- 最小生成树** Kruskal **
- 拓扑排序
- 约翰逊算法
- 图形中的关节点(或切点)
- 图中的桥梁
所有图算法
动态编程
- 最长公共子序列
- 最长递增子序列
- 编辑距离
- 最小分区
- 覆盖距离的方法
- 矩阵中的最长路径
- 子集总和问题
- 游戏的最佳策略
- 0-1背包问题
- 装配线调度
所有DP算法
搜索和排序
- 二元搜寻
- 快速排序
- 合并排序
- 订单统计
- KMP算法
- 拉宾·卡尔普
- Z的算法
- Aho Corasick字符串匹配
- 计数排序
- Manacher的算法:第1部分,第2部分和第3部分
有关搜索,排序和模式搜索的所有文章。
数论及其他数学
素数和素数分解
- 原始性测试|第一组(介绍和学校方法)
- 原始性测试|套装2(Fermat方法)
- 原始性测试|第三组(米勒-拉宾)
- Eratosthenes筛
- 分段筛
- 威尔逊定理
- 素数分解
- Pollard的Rho算法
模算术算法
- 基本和扩展的欧几里得算法
- 欧拉的Totient函数
- 模幂
- 模乘逆
- 中国余数定理介绍
- 中文余数定理和模逆实现
- nCr%m和这个。
各种各样的:
- 计数反转
- 使用BIT计算倒数
- 对数幂
- 整数的平方根
- 重光分解,这个和这个
- 矩阵等级
- 高斯消除法求解线性方程组
- 匈牙利算法
- 链接剪切
- 莫的算法和这个
- C++中的大量阶乘
- Java +中的大量阶乘
- 俄罗斯农民繁殖
- 加泰罗尼亚语编号
关于数学算法的所有文章
几何和网络流算法
- 凸包
- 格雷厄姆·斯堪
- 线相交
- 间隔树
- 矩阵求幂与此
- Maxflow Ford Furkerson Algo和Edmond Karp的实施
- 最小切
- 稳定的婚姻问题
- 用于最大匹配的Hopcroft–Karp算法
- Dinic的算法和e-maxx
关于几何算法的所有文章
数据结构
- 二叉索引树或Fenwick树
- 段树(RMQ,范围总和和延迟传播)
- KD树(请参阅插入,最小值和删除)
- 联合查找不相交集(循环检测以及按等级和路径压缩)
- 尝试
- 后缀数组(this,this和this)
- 稀疏表
- 后缀自动机
- 后缀自动机II
- LCA和RMQ
有关高级数据结构的所有文章。
如何开始?
请参阅如何开始竞争性编程?
如何练习?
请参阅https://practice.geeksforgeeks.org/
面试问题中最热门的算法是什么?
面试问题中的十大算法
如何为ACM – ICPC做准备?
如何为ACM – ICPC做准备?
如果您希望与行业专家一起参加现场课程,请参阅《 Geeks现场课程》和《 Geeks现场课程美国》。