这是我关于数据结构课程的笔记。
-
善用STL
题1. 重排后为2的幂 题目描述 为了平衡卷王对课程压力的影响,一些反卷斗士自发地组成了反卷者联盟。在反卷者联盟中,每一个反卷斗士都是二进制天选之子。为了防止卷王发现潜伏在其中的反卷斗士,反卷斗士之间有自己独特的相互验证方式。具体验证方式为:如果... -
时间复杂度的降低
原地哈希映射 问题的引入 剑指 Offer 03. 数组中重复的数字 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个... -
博弈论有关的算法知识
博弈论(Game Theory),博弈论是指研究多个个体或团队之间在特定条件制约下的对局中利用相关方的策略,而实施对应策略的学科。
取石子游戏是典型的博弈论问题
-
AcWing 练习
这里主要是我刷 AcWing 题目的练习笔记
-
回溯算法
回溯算法的详解
-
算法基础
content: 排序(计算排序、快速排序),前缀和,差分
-
字符串
content: 字符串有关的标准库,KMP算法(寻找子串的高效算法,在 文本串s 中快速寻找 模式串p 的一种算法),Z算法,字典树,Manacher算法,后缀数组
-
图论Tarjan算法
Tarjan 算法是图论中非常实用 / 常用的算法之一,能解决 强连通分量,双连通分量,割点和桥,求 最近公共祖先(LCA)等问题。
Tarjan 算法是基于 深度优先搜索DFS 的算法,用于求解 图的连通性问题。Tarjan 算法可以在线性时间求出 无向图的割点与桥,进一步求解 无向图的双连通分量;同时,也可以求解 有向图的强连通分量、必经点与必经边。
-
算法中的数学
算法学习过程中积累数学知识真的很重要,可以极大地优化算法。
content: 快速幂,极角排序,凸包