priority-queue 相关问题

优先级队列是常规队列或堆栈数据结构,但另外每个元素都具有与之关联的“优先级”。

Ruby的标准库中有优先级队列数据结构实现吗?

Ruby的标准库有优先级队列实现吗?

回答 5 投票 0

通过多重比较在优先级队列中添加对象

我有一个优先级队列,其中包含一个名为“RouteInfo”的对象, 公共类路由信息{ 私人双总成本; 私有双总LeadTime; 私有 int 车道数; 公关...

回答 1 投票 0

从加权队列中提取元素的算法

我正在尝试实现一种“加权队列提取器”,以从具有不同优先级的不同队列中提取元素。我只需要选择要从中获取元素的队列。 让我们...

回答 1 投票 0

在priority_queue中使用更大的比较器存储自定义类的指针

我有一个像这样的priority_queue,而不是使用less比较(priority_queue的默认值)。我想使用更大的<>。所以我像这样调整代码 优先队列 我有一个像这样的priority_queue,而不是使用less比较(priority_queue的默认值)。我想使用更大的<>。所以我像这样调整代码 priority_queue<EncodingNode*, vector<EncodingNode*>, greater<Comparator>> pq; 这是我的EncodingNode的定义 class EncodingNode { public: char c; int freq; int priority; }; 这是我的比较器类: struct Comparator { bool operator()(const EncodingNode* a, const EncodingNode* b); }; bool Comparator::operator()(const EncodingNode* a, const EncodingNode* b) { // logic for comparing two EncodingNode* if (a->freq > b->freq) return true; else if (a->freq == b->freq) { if (a->priority > b->priority) return true; } return false; } 它一直给我这个错误:无法将参数 1 从 'EncodingNode *' 转换为 'const_Ty &' 无论如何,有没有办法解决这个问题,如果我删除代码的大部分,它会运行,但不使用更大的<>,我必须以某种方式否定比较器内的条件并给出错误的结果。在这种情况下是否可以使用更大的<>。非常感谢。 std::greater 将 (x, y) 转换为 x > y,因为 Comparator 没有实现 > 运算符 greater<Comparator> 无法编译。在这种情况下你不需要std::greater,你只需直接传递比较器即可: priority_queue<EncodingNode*, vector<EncodingNode*>, Comparator> pq; 请注意,您的比较器可以简化为: bool Comparator::operator()(const EncodingNode* a, const EncodingNode* b) { return std::tie(a->freq, a->priority) > std::tie(b->freq, b->priority); }

回答 1 投票 0

高效实现优先级队列,恒定时间提取最小元素

我正在做一个项目,需要一个具有以下特征的优先级队列: 恒定时间提取:我需要高效地从

回答 1 投票 0

在测距时删除优先级队列中元素的安全方法

我从go文档中获取了优先级队列的完整实现。 如果元素满足某些条件,我想删除它们。所以我应该: 然后迭代队列 检查情况 如果条件...

回答 3 投票 0

Rust HashMap 查找并删除最小值

我有一个HashMap<(usize,usize),Point3d>,我想根据某些指标删除最小元素。 让closest_edge = { 让edges = external.keys(); 编辑...

回答 1 投票 0

为priority_queue的比较函数提供第三个参数

我一直在试图找出一种方法来为我的优先级队列的比较函数提供一些额外的信息。假设我有以下内容: 我的班级 { 类 IntCompare { ...

回答 1 投票 0

当元素被删除时,PriorityQueue 会变得混乱

我有一个具有两个 Int 元素(距离和顶点)的可比较类元组。我想存储按距离排序的元组。 -1 是我的距离的默认值,应该像 Infinit 一样起作用......

回答 1 投票 0

带有锯齿数组和自定义排序的C#优先级队列

最近在看C#的priorityqueue,被一个写法搞糊涂了。并希望得到一些指导。 需要排序的数组为[[1,2],[2,4],[3,3],[3,2] 以及带有

回答 1 投票 0

如何在Python中删除堆中的特定元素而不丢失堆属性?

我正在尝试实现一种算法来解决天际线问题,该问题涉及从最大堆中间删除特定元素。我目前的做法是 maxheap.remove(index) 但我...

回答 4 投票 0

使用优先级队列计算中位数

我需要计算中位数。有人告诉我,在这个特定的应用程序中,最好的方法是使用优先级队列。我不知道如何继续。我真的很感激...

回答 3 投票 0

如何将AVL树中的元组(键,值)添加到java中的优先级队列中?

我想建立一个优先级队列,其中的元素是我的AVL树的节点。优先级队列应该对具有最高值的节点进行排序,然后对具有最低 v 的节点进行排序...

回答 1 投票 0

使用重新插入来减少键的STL优先级队列不起作用

我正在尝试实现类似 A* 的算法,但在使用 STLpriority_queue 容器实现密钥减少时遇到了麻烦。当我减少时,我试图将元素重新插入队列......

回答 1 投票 0

尝试使用 Celery+RabbitMQ 设置优先级队列时出现“PreconditionFailed - 队列的不等价参数‘x-max-priority’”错误

我有 RabbitMQ 设置,有两个队列:低和高。我希望我的芹菜工作人员在消耗低优先级队列的任务之前先消耗高优先级队列的任务。我得到以下信息...

回答 1 投票 0

C语言编程如何实现优先级队列?

我需要在C编程中使用单链表实现优先级队列。 我对优先级队列没有明确的概念。我用谷歌搜索但没有完全理解我发现的内容。我的理解...

回答 5 投票 0

使用自定义比较器实例化 int 对的priority_queue 时在 C++ 中键入错误(以实现最小堆)

目前正在解决一个leetcode问题,我需要一个最小的堆对。 我正在尝试使用带有 int 对和自定义比较类型的priority_queue。 尝试实施相同的措施

回答 2 投票 0

STL c++ 中的 Priority_queue 向量

如何将向量v转换为priority_queue pq? 就像我们可以做的那样—— for(int i=0;i<(int)v.size();i++) pq.push(v[i]); But is it possible to keep it more short and concise?

回答 3 投票 0

python3 类型错误:'<' not supported error when try to implement A* algo use python heapq

我正在尝试利用 python 库 heapq 使用 pri_que 实现 A* 算法。一般来说,所有的状态都会被存储为一个Node实例 类节点: def __init__(自身,状态,父级,

回答 1 投票 0

Java PriorityBlockingQueue 阻塞行为

从我看到的文档中, take() 方法会阻塞,直到元素变得可用。 还有其他情况可能会阻塞吗? 我的意思是,是否有一种可能的情况,当队列...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.