高级 Swift 数据结构

该仓库包含使用 Swift 实现的高级自定义数据结构。 这些数据结构旨在提供超出 Swift 标准库中可用功能的额外功能。

目录

  1. 二叉堆 (BinaryHeap)
  2. 优先队列 (PriorityQueue)

二叉堆 (BinaryHeap)

二叉堆是一种通用的堆实现,允许您在最小堆或最大堆之间进行选择。 它为添加元素和提取最小值或最大值提供了高效的操作。

用法

使用最小堆

let minHeap = BinaryHeap<Int>()
minHeap.insert(5)
minHeap.insert(3)
minHeap.insert(8)
// Perform operations on minHeap

使用最大堆

let maxHeap = BinaryHeap<Int>(heapType: .max)
maxHeap.insert(5)
maxHeap.insert(3)
maxHeap.insert(8)
// Perform operations on maxHeap

优先队列 (PriorityQueue)

优先队列是一种数据结构,允许您将具有相关优先级的元素排队。 元素根据其优先级出队,从而提供了一种灵活有效的方式来管理具有不同重要级别的任务或项目。

用法

var priorityQueue = PriorityQueue<String, Int>()
priorityQueue.enqueue("Task A", withPriority: 3)
priorityQueue.enqueue("Task B", withPriority: 1)
priorityQueue.enqueue("Task C", withPriority: 2)
// Dequeue items based on priority
let highestPriorityTask = priorityQueue.dequeue()

贡献

欢迎贡献! 如果您对改进、附加功能或新数据结构有任何想法,请随时提出问题或提交拉取请求。

许可证

此项目根据 MIT 许可证获得许可 - 有关详细信息,请参见 LICENSE 文件。