heap 相关问题

堆(数据结构)是相对于深度排序的树。堆也可以指为动态分配留出的进程内存。

当元素数量远多于辅助键时,使用主键和辅助键对 N 个元素进行排序的有效方法

问题的具体情况如下:有n个元素,有主键和辅助键,并且有m个辅助键。我们可以假设键是正整数,并且我们希望...

回答 0 投票 0

节点坐标和邻居坐标(KeyError: 'A')

我是python的新手,这是我第一次使用GUI创建程序。 我目前创建了一个知情搜索,特别是最佳优先搜索算法。 我遇到了一个问题

回答 0 投票 0

C# 中 referenceTyes 存储的 referenceTypes 保存在哪里?

假设我有以下程序: 公开课钱包 { 私人 int _money; 公共钱包(int money) { _money = 金钱; } } 公开课人 { 私有字符串 _...

回答 3 投票 0

为什么通过堆数据结构进行线性搜索比遍历树更快?

在下面的代码中,indexOfSlow 在我的测试用例中比 indexOf 慢大约 17 倍,尽管前者比后者做的比较少。 这是为什么? (我的直觉是优越

回答 0 投票 0

栈内存那么快,为什么还要用堆存储?

我一直在想,如果栈可以很容易地使用并且比堆快得多,为什么我们要使用堆...... 看到这段代码:- 整数 *i = 新整数; *我= 7; (堆) { 整数我 = 7; } (堆) 如果我能够使用 { }

回答 2 投票 0

我用什么来实现 Python 中的最大堆?

Python 包含用于最小堆的 heapq 模块,但我需要一个最大堆。我应该使用什么来实现 Python 中的最大堆?

回答 19 投票 0

所有程序都必须有栈和堆吗?

C、C++ 和 Rust 程序都有一个用于在编译时已知大小的对象的“堆栈”,以及一个用于动态分配对象的“堆”。 这在实践中在哪里实施?...

回答 0 投票 0

C 语言的 Winner Tree 项目

我的项目与举办网球比赛有关。首先,它要求用户输入玩家人数,并根据该人数进行锦标赛的某些阶段。 例如...

回答 1 投票 0

更新后的Spring Memory问题

我之前使用 spring 版本 2.1.6-RELEASE 和 mongodb 版本 4.2,现在我正在更新 spring 版本 2.4.10,它使用 mongodb 驱动程序 4.1.2 和 mongodb 版本 4.4 以及 gradle versio ...

回答 0 投票 0

如何优化 boost 堆以在堆操作中胜过 std multiset? C++

我一直致力于实施快速行进方法。它是求解一类特殊微分方程的一种计算方法。特别是,此代码求解方程 $$| 阿布拉披| = 1...

回答 1 投票 0

为什么我不能通过在 JavaScript/Node.js 的无限循环中动态创建全局范围的变量来耗尽堆?

我想一遍又一遍地创建全局变量,直到我的计算机的堆没有更多空间,然后出现错误。我认为以下代码可以做到这一点: 对于(让 i = 0;真;i++){ ……

回答 1 投票 0

不完全二叉树的高度和深度的关系

"设H为树的高度。如果堆不是完整的 二叉树(因为底层未满),则 给定深度的节点并不都具有相同的高度。例如。, 虽然...

回答 1 投票 0

使用最大堆和最小堆的第 K 个最小数的流

我正在编写计算 m[i] 总和的 Python 程序,它是 A[0]、A[1]、...、A[i] 中第 (i//3+1) 个最小值] 值,使用 maxHeap 和 minHeap。 这是我写的代码。

回答 2 投票 0

SwiftUI 大型结构设计模式

我正在构建一个 SwiftUI 应用程序,其中一个 UI 驱动数据结构非常大,我不确定处理它的最佳方法。 这是一个棒球应用程序,大结构代表一场比赛(编码......

回答 0 投票 0

如何在C++中比较模板类T的变量

我正在使用数组实现来实现一个堆: T* _heap = new T[HEAPSIZE]; 整数_n = 0; // 堆中的元素个数 但是,我无法比较此数组中的项目: 模板 我正在使用数组实现来实现堆: T* _heap = new T[HEAPSIZE]; int _n = 0; // number of elements in heap 但是,我无法比较这个数组中的项目: template <class T> void Heap<T>::_bubbleDown(int index) { if (index << 1 + 1 > _n) { _heap[0] = _heap[1]; return; } int left = index << 1; int right = index << 1 + 1; if (_heap[index] < _heap[left] && _heap[left] >= _heap[right]) { swap(_heap[index], _heap[left]); return _bubbleDown(left); } else if (_heap[index] < _heap[right] && _heap[right] >= _heap[left]) { swap(_heap[index], _heap[right]); return _bubbleDown(right); } _heap[0] = _heap[1]; } 在编译时返回 C2676: binary'<'; 'T' does not define this operator or a conversion to a type acceptable to the predefined operator if 语句中的比较运算符。 我很困惑为什么会这样,考虑到我在网上看到代码,例如: template<typename T> T abs(T value) { T result; // result's type is also T result = (value >= 0) ? value : -value; return result; } 来自https://www3.ntu.edu.sg/home/ehchua/programming/cpp/cp8_Template.html似乎工作正常 为什么我会收到这个错误?我该如何解决?我的理解是T只是一个占位符类型,在程序实际运行中会被堆的数据类型代替,比如int,double,float等。所以我也觉得不可能通过 Unary operator>() 或类似的方式重载运算符。我说得对吗?

回答 0 投票 0

我的特定代码的堆损坏问题

我正在编写 C++ 代码,因为我对动态分配和释放很陌生,所以堆损坏错误一直困扰着我。 #include #include #include

回答 0 投票 0

React - 导入大 JSON 文件 - 内存错误 HEAP

错误: “致命错误:堆限制附近的无效标记压缩分配失败 - JavaScript 堆内存不足”错误 我有一个占地面积相对较小的工作反应应用程序。 然而...

回答 1 投票 0

调整堆大小时 C 中的 realloc 错误

我想在 C 中的堆插入函数中使用 realloc。这是代码: typedef struct MaxHeap { 整数大小; 整数*堆; } 最大堆; void max_insert(MaxHeap* max_heap, int* key_index, int...

回答 1 投票 0

调整堆大小时 C 中的 recalloc 错误

我想在 C 中的堆插入函数中使用 recalloc。这是代码: typedef struct MaxHeap { 整数大小; 整数*堆; } 最大堆; void max_insert(MaxHeap* max_heap, int* key_index, in...

回答 1 投票 0

Find The Third Max 或第三大数

如何修改以获得第三个最大值 如何修改以获得第三个最大值how to modify to get the third max 如何修改以获得第三个最大值 #包括 使用命名空间标准; int main() ...

回答 0 投票 0

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