- 博客(7)
- 收藏
- 关注
原创 双指针应用
双指针是一种在算法中广泛应用的技巧,特别是在处理数组、链表等数据结构时。双指针不是指真正意义上的指针,而是指索引或游标的概念。其基本思想是在遍历过程中,不是使用单个指针(或索引)进行访问,而是使用两个指针(或索引)进行访问,以达到减少遍历次数、优化时间复杂度的目的。双指针根据不同的移动方向和应用场景,可以分为多种类型,其中最常见的是对撞指针和快慢指针。
2024-09-16 12:45:29
806
原创 拓补排序c++
拓补排序(通常称为拓扑排序)是图论中的一种算法,主要用于对有向无环图(Directed Acyclic Graph,简称DAG)进行排序,以得到一个线性的顶点序列。在这个序列中,对于图中的任意一对顶点u和v,如果图中存在一条从u到v的有向边,则u在序列中必定出现在v之前。这种排序反映了图中顶点之间的依赖关系,确保在进行某项活动时,其所有前置活动都已完成。
2024-09-16 11:23:27
941
原创 埃氏筛法(全)
埃氏筛法,全称为埃拉托斯特尼筛法(Sieve of Eratosthenes),是一种由古希腊数学家埃拉托斯特尼在公元前3世纪提出的古老而经典的算法,用于计算一定范围内的素数。其基本思想是通过从小到大遍历每个数字,并将其所有的倍数标记为非质数(合数),从而逐步排除所有非质数,最终得到所有的素数。
2024-09-07 11:44:19
590
原创 欧拉筛法(全)
欧拉筛法(Euler’s Sieve),又称为线性筛法,是一种高效的素数筛选算法,其时间复杂度和空间复杂度都是线性的,可以在O(n)的时间和空间内完成筛选。欧拉筛法有效地避免了埃拉托斯特尼(Eratosthenes)筛法中重复的筛选,保证了每个数只被筛选一次,从而提高了筛选效率。
2024-09-07 11:39:24
1791
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人