标签: priority-queue

优先队列错误订单

我正在编写霍夫曼编码.这是我的计划的开始:

using namespace std;

//Counting methods
int *CountCharOccurence(string text)
{
    int *charOccurrence = new int[127];
    for(int i = 0; i < text.length(); i++)
    {
        charOccurrence[text[i]]++;
    }
    return charOccurrence;
}

void DisplayCharOccurence(int *charOccurrence)
{
    for(int i = 0; i < 127; i++)
    {
        if(charOccurrence[i] > 0)
        {
            cout << (char)i << ": " << charOccurrence[i] << endl;
        }
    }
}

//Node struct
struct Node
{
    public:
        char character;
        int occurrence;

        Node(char c, int occ) {
            character = c;
            occurrence = occ; …
Run Code Online (Sandbox Code Playgroud)

c++ priority-queue huffman-code

3
推荐指数
1
解决办法
1603
查看次数

是否有可以排序和搜索的Python数据结构?

我正在使用python来管理要处理的字符串队列.它有几个要求:

  • 每个字符串都与优先级匹配,并且仅根据该值进行处理.
  • 可以动态地将字符串添加到此队列,但队列中不允许重复的字符串.如果提交了副本,则必须标识并忽略它.

那么是否有任何python数据类型允许这样的东西?或者我必须自己写?

如果那时没有本土的那个,我正在考虑维护两个结构.

  1. 一个heapq,它将维护字符串及其优先级
  2. 一个列表,其保持了字符串的哈希值来检查字符串是否已经存储

只要这些不会失去同步,它就应该解决问题.

python list priority-queue data-structures

3
推荐指数
1
解决办法
395
查看次数

c ++数据结构,按值排序并运行FIFO

我正在寻找一种执行快速排序插入的数据结构,并基于FIFO进行操作.

我想要实现的是一个固定大小的数据结构来保存一系列值.在迭代的每个新步骤中,我希望能够有效地找到最小值或最大值(因此我希望数据结构始终被排序),并且在请求插入新元素时,最旧的元素将自动生成(或至少能够有效地)弹出/丢弃.

所以我想我正在寻找某种FIFO优先级队列.

任何帮助非常感谢.

c++ heap stack priority-queue data-structures

3
推荐指数
1
解决办法
1310
查看次数

设置事件优先级

我正在QT中进行申请。我使用QExtSerialPort从我的comp的串行端口接收数据(无论何时发出readyread()信号)。我也有一些计时器以一定的间隔运行其他事情。现在我注意到,当定时器打开时,不是当定时器未打开时,并非readyread信号的所有数据都少很多。QT中是否有一种方法可以确保已接收到串行端口的所有数据?也许通过将readyread事件设置为高优先级或诸如此类?

qt serial-port priority-queue

3
推荐指数
1
解决办法
3913
查看次数

我应该使用Power Collection的OrderedMultiDictionary作为优先级队列吗?

C#不提供优先级队列的本机实现.

在Stackoverflow上,这种问题的一个常见答案是使用Power Collections.

我应该继续这样做,还是有任何缺点?

.net c# priority-queue data-structures

3
推荐指数
1
解决办法
1262
查看次数

PriorityQueue与Collections.sort

当我会永远选Collections.sort()过PriorityQueue,当我知道PQ的会在时间复杂性方面会更好?

java collections priority-queue

3
推荐指数
1
解决办法
2779
查看次数

具有两个优先级Python的优先级队列

我正在寻找一种优先级队列,它允许我给出两个优先级.我希望它只检查第一个值,然后检查第二个值这是一些代码

import Queue

class Job(object):
    def __init__(self, fpriority, spriority, description, iata , hops, cost):
        self.fpriority = fpriority
        self.spriority = spriority

q = Queue.PriorityQueue()

q.put(Job(2, 5, 'Mid-level job'))
q.put(Job(2, 20, 'Low-level job'))
q.put(Job(1, 20, 'Important job'))
Run Code Online (Sandbox Code Playgroud)

现在我想要以下元素的顺序

Important job
Mid_level job
Low_level job
Run Code Online (Sandbox Code Playgroud)

我如何用一个队列创建这样的订单?

python priority-queue

3
推荐指数
2
解决办法
630
查看次数

我们是否有优先级队列支持删除操作,其复杂性与其他操作相同?

Priority Queue以从集合中检索max或min元素而闻名.优先级队列上的两个常见操作是Insert和DeleteMin/DeleteMax.我们是否有支持Delete(x)的优先级队列?Delete(x)的含义是从优先级队列中删除项目x.

天真的方法是找到项目x并删除它,但它需要线性时间.我正在寻找一些更好的算法.

algorithm priority-queue data-structures

3
推荐指数
1
解决办法
1305
查看次数

优先级队列编译错误

我正在尝试编译下面的代码,但编译器给出了错误

Struct.h:38:9: error: ‘priority_queue’ in namespace ‘std’ does not name a type
Run Code Online (Sandbox Code Playgroud)

几次搜索未能透露答案,所以我希望你们能帮忙.该代码部分基于c ++参考站点上给出的示例代码.

struct aimedShot;
union moveFunc;
struct timeCommand;

struct aimedShot
{
    void (*move) (Dot*, SDL_Event&, double x, double y);
    double x;
    double y;
};

//Holds the kind of function used
union moveFunc
{
    void (*notAimed) (Dot*);
    aimedShot aimed;
};

//Dot to be operated on and the appropriate operator with time
struct timeCommand
{
    Dot* target;    
    moveFunc command;
    int time;
    bool type; //True indicates aimed (integer inputs), False indicates …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-errors priority-queue

3
推荐指数
1
解决办法
3455
查看次数

PriorityQueue,优先插入

我想知道如何为具有特定值的PriorityQueue添加值.

我有一个Map<Integer, Integer> // element -> value ,我想elements优先插入PriorityQueue value.

例如:

Map{1=0, 3=5265, 5=22375, 7=4202, 9=233, 11=351, 13=119}
Run Code Online (Sandbox Code Playgroud)

应该在队列中有这个顺序:

{1, 13, 9, 11, 7, 3, 5}
Run Code Online (Sandbox Code Playgroud)

java priority-queue

3
推荐指数
1
解决办法
4999
查看次数