标签: 数据结构
16 个内容
笔记(15)
堆是满足堆序性质的完全二叉树,常用数组实现。核心操作优化包括插入的`heapifyUp`修正和删除的空堆检测。应用广泛,如优先队列和Top K问题。优化手段包括Floyd建堆法和TypedArray。存在二叉堆、斐波那契堆等变体,面临并发、内存管理等挑战。未来趋势包括持久化堆和GPU加速。
本文介绍了堆这种特殊的树形数据结构,它是一种基于数组的完全二叉树,常用于实现优先级队列。堆分为最大堆和最小堆,分别保证根节点为最大值或最小值。文章提供了最大堆的 TypeScript 实现,包括插入元素和弹出元素的 `heapifyUp` 和 `heapifyDown` 操作。
本文是为面试准备的礼物,汇总了常见的JS手写题和八股文。手写题包括字符串转换对象、类型体操科里化、汉明距离总和、股票买卖、链表随机节点、二叉树迭代遍历、整数转罗马数字、字母异位词分组等。重点讨论了JS浮点数运算不精确的原因和解决方法,涉及IEEE 754标准、精度丢失等,并解释了Number.MAX_SAFE_INTEGER等特殊值。
动态(1)
A Bloom filter is a data structure designed to tell you, rapidly and memory-efficiently, whether an element is present in a set.
The price paid for this efficiency is that a Bloom filter is a probabilistic data structure: it tells us that the element either definitely is not in the set or may be in the set.