小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI

本文讨论了Linux调度器的演变历程,包括O(1)调度器、CFS和EEVDF。O(1)调度器通过启发式方法检测交互性,复杂性较高;CFS引入虚拟运行时间以实现公平性,但在短期公平性方面存在不足。EEVDF通过虚拟合格时间和虚拟截止时间的引入,改善了CFS的缺陷,确保了更好的短期公平性和延迟控制。调度器设计的关键在于用数学模型替代启发式方法,以实现更高效的资源分配。

进程调度:从 CFS 到 EEVDF 的哲学演变

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2025-07-15T00:00:00Z
在数组中寻找重复元素的聪明方法(无需额外空间!)

LeetCode 442题通过索引标记法在O(n)时间内找到数组中的重复元素,且只需O(1)额外空间。该方法将每个数字视为索引,标记已访问的索引,遇到负数则表示重复,效率高且避免了排序。

在数组中寻找重复元素的聪明方法(无需额外空间!)

DEV Community
DEV Community · 2025-02-17T06:49:16Z
初学者的时间复杂度与大O符号

算法的时间复杂度通过操作次数衡量,而非实际时间。常见复杂度包括O(1)、O(n)、O(n^2)等,其中O(1)为最佳,O(n!)为最差。时间复杂度反映操作数量随输入增加的变化。

初学者的时间复杂度与大O符号

DEV Community
DEV Community · 2025-01-14T09:10:14Z
LeetCode 挑战:380. 插入、删除、获取随机数 O(1) - JavaScript 解决方案 🚀

本文介绍了一种支持O(1)时间复杂度的插入、删除和随机访问的数据结构——RandomizedSet。该类通过哈希表和数组实现插入、删除和获取随机元素的操作,确保平均时间复杂度为O(1)。插入时将值添加到数组末尾,删除时用最后一个元素替换被删除元素,获取随机元素则从数组中随机选择索引。

LeetCode 挑战:380. 插入、删除、获取随机数 O(1) - JavaScript 解决方案 🚀

DEV Community
DEV Community · 2024-12-15T15:03:37Z
理解O(1):常数时间的力量

大O符号是计算机科学中评估算法效率的基本概念。O(1)表示操作时间与输入大小无关,常见的O(1)操作包括通过索引访问数组元素和使用哈希表检索值。理解O(1)有助于编写高效代码和优化性能。

理解O(1):常数时间的力量

DEV Community
DEV Community · 2024-12-10T21:02:22Z
最小栈/队列

修改后的栈通过在每个元素中存储当前最小值,实现了O(1)时间复杂度的最小值查询。入栈时比较新元素与当前最小值,出栈时直接移除顶部元素,确保高效处理频繁的最小值查询。这种设计在竞争编程和实时系统中非常实用。

最小栈/队列

DEV Community
DEV Community · 2024-11-19T07:45:02Z
轻松找到算法的时间复杂度

时间复杂度是初学者常遇到的难题。本文提供了时间复杂度分析速查表,包括O(1)、O(log n)、O(n)、O(n log n)、O(n²)、O(2ⁿ)和O(n!)等常见复杂度,并介绍了常见操作的时间复杂度及优化建议。

轻松找到算法的时间复杂度

DEV Community
DEV Community · 2024-11-18T22:22:30Z
  • <<
  • <
  • 1 (current)
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码