首页 文章
  • 0 votes
     answers
     views

    具有来自不同子节点的多个指针的firebase数据库的良好实践

    我正在构建一个应用程序,其中包含来自DB中不同子项的多个指针 .目前db看起来像这样: users ㄴ EAGZwcgvgAcgErO7rfm7IHI91fk2 ㄴ jobA: ㄴ info1: "F" ㄴ info2: 24 ㄴ jobB: ㄴ info1: "F&...
  • 0 votes
     answers
     views

    将矢量成员的数据结构写入二进制文件

    尝试编写包含向量成员的数据结构时,我注意到当从缓冲区读回数据时,向量成员不准确 . 首先,我使用简单的值手动编写结构:(假设在这种情况下POD成员是准确的 . ) void ObjFileImport::WriteGeometryFile(LPWSTR In_File){ BaseGeometry WriteTest; WriteTest.VertexData = { XMFLOAT3(9...
  • 0 votes
     answers
     views

    数字的内存有效数据结构

    我有一张很大的 table : id1 id2 count 1 234 4 1 5 123 1 432 5 23 234 7 id1和id2有许多不同的值 . count具有有限的数值(1-30000或其他),我知道它们中的大多数等于1 . 当我将它存储在.net字典中时,此表占用大约10GB的内存 . 我想找到内存高效的数据结构来存储这些数据 . 完美哈希可...
  • 4 votes
     answers
     views

    Map 必须包含所有可能的键?

    Haskell有多个数据结构,如 Map key value ,在内部使用树或哈希映射 . 使用此数据结构时,可能在执行查找时,密钥将不存在 . 在我的用例中,可能的键集是有限的(技术上它们都在 Enum 和 Ord )并且我只对存在所有键的映射感兴趣 . 如何创建一个类似于 Map 的数据结构,保证 Map 中存在所有键,即它可以具有非部分函数 lookup :: Map key value -...
  • 338 votes
     answers
     views

    使用LINQ将列表拆分为子列表

    有没有什么方法可以将 List<SomeObject> 分成几个单独的 SomeObject 列表,使用项索引作为每个拆分的分隔符? 让我举例说明: 我有一个 List<SomeObject> ,我需要 List<List<SomeObject>> 或 List<SomeObject>[] ,这样每个结果列表将包含一组3个原始列表项(顺序...
  • 3 votes
     answers
     views

    来自文本的字数...是否可以使用特里?

    我知道字数Qs已被多次询问,MAP似乎是它的一致选择 . 但我觉得如果文本很大并且独特单词的数量非常高,MAP可能会占用很多空间 . 那么为什么不使用Trie呢?叶节点将存储每个单词的频率 . 或者说,与特里相比, Map 是一个明显的赢家? Plz帮助我理解 . 附:在SDE采访中被问到了 .
  • 0 votes
     answers
     views

    将变量ID与值一起存储的有效方法是什么?

    我希望将我的数据存储在一个数据结构中,这样我就可以有效地执行以下操作: 我有10个类型1的数组和10个类型为2的数组,每个数组包含100个元素 . 每个数组存储100个变量的值 . 伴随着这些,我有20个包含相应变量ID的数组 . 在类型1的总数组中,1000个变量的存储值和类型2的数组存储相同1000个变量的不同值 . 现在,我需要对类型1的数组中的变量值与类型2的数组的值进行区分 . 设A是类...
  • 0 votes
     answers
     views

    大多数内存有效的方式存储大约200K SHA256哈希

    我需要在内存中以二进制形式存储大约200,000个SHA256哈希值 .我的要求是, 数据结构应该是大多数内存效率 . 我将按排序顺序读回哈希(插入顺序并不重要),因此,支持词典阅读的数据结构更好 . 如果可以比较两个相同类型的结构以找到它们中的共同哈希,那将是一个加号(尽管不是强制性的) . 以下是我考虑的数据结构, 数组: 数组似乎是最简单和内存有效的数组,但我不能使用数组,因为, 我...
  • 1 votes
     answers
     views

    BST来自预购,只需按相同顺序插入节点即可

    要从给定的前序遍历构造BST,如果我尝试按照预先给定的顺序插入BST,我会获得BST . 那么,我们不是通过对元素进行排序或执行任何其他算法来创建有序的? 有没有一个例子表明只是插入元素就无法构建树?
  • 1 votes
     answers
     views

    是否存在与Redis有序集(zset)等效的Java数据结构

    Redis有一个称为有序集的数据结构 . 接口大致是SortedMap的接口,但按值而不是键排序 . 我几乎可以使用SortedSet,但它们似乎假设静态排序值 . 是否有类似概念的规范Java实现? 我的直接用例是在每个元素上构建一个带有TTL的集合 . 映射的值将是到期时间,并且我会定期修剪过期的元素 . 我也可以定期查看到期时间 .
  • 3 votes
     answers
     views

    谁抛出分段错误?

    鉴于以下计划 . int main() { char *str = "hello word"; str[0] = 'a'; return 0; } 上述程序会引发分段错误 . 我知道它会抛出,因为只读段包含hello世界,并且无法修改 . 如果在L1缓存(处理器内部)中完成从“h”变为“a”的存储指令,并且仅当页面从L3刷新到主存储器时MMU才会进入图像,几乎立即抛出...
  • 0 votes
     answers
     views

    NSAttributedString的内部数据结构? [关闭]

    我想继承NSAttributedString,但我不知道内部存储是怎样的 . NSAttributedString是NSObject的子类 . 很可能它使用NSString来存储字符和另一个数据结构来跟踪属性(例如颜色,字体) . 属性存储在NSDictionary中对某个字符范围(NSRange)有效,但属性也可以在字符范围内重叠 . 什么样的高效数据结构适合这种情况?为每个角色存储字典可能不...
  • 74 votes
     answers
     views

    为什么斐波那契数字在计算机科学中具有重要意义?

    Fibonacci numbers已经成为计算机科学学生递归的一个流行的介绍,并且有一个强烈的论据,他们坚持自然 . 出于这些原因,我们很多人都熟悉它们 . 它们也存在于其他地方的计算机科学中;在基于序列的令人惊讶的有效数据结构和算法中 . 我想到了两个主要的例子: Fibonacci heaps其运行时间比二项式堆更好 . Fibonacci search与有序数组上的二进制搜索共享O(...
  • 3 votes
     answers
     views

    适用于网络流算法的图形表示

    在实现最大网络流量的Ford-Fulkerson或Dinitz算法时,需要在图表上执行两个操作: 迭代给定顶点的所有邻居 找到给定边的反向边(当沿着扩充路径添加流时,这是图修改所需的) . 理想情况下,第一个操作相对于邻居的数量是线性的,第二个操作应该是常数 . 此外,图形表示所需的存储器应该相对于边缘数量是线性的(注意,对于最大网络流算法的大多数实际应用,我已经看到边缘的数量是顶点数...
  • 2 votes
     answers
     views

    为什么键而不仅仅是二叉搜索树中的值?

    为什么BST上的操作(搜索,删除,获取,最小,最大,楼层,上限,等级等)都使用键而不是值?我们是否无法存储 Comparable 值并对其进行操作?在BST中拥有密钥有什么好处?
  • 0 votes
     answers
     views

    找到小于给定数字的三胞胎

    我正在尝试解决以下问题: 给定n个整数nums和目标的数组,找到索引三元组i,j,k的数量,其中0 <= i <j <k <n满足条件nums [i] nums [j] nums [k] <目标 . 例如,给定nums = [-2,0,1,3]和target = 2.返回2.因为有两个三元组,其和小于2:[ - 2,0,1] [-2,0 ,3] 我的算法:从列表...
  • 0 votes
     answers
     views

    基本的飞行旅行计划

    ![基于旅行计划的问题] [1]什么方法最适合解决这个问题?,任何形式的帮助将不胜感激 输入是各个城市之间的航班集 . 它以文件形式提供 . 该文件的每一行包含“city1 city2出发时间到达时间航班 - 没有价格”这意味着从city1到city2有一个名为“flight-no”的飞行(这是一个XY012形式的字符串) city1在时间“出发时间”并且在“到达时间”到达city2 . 此航班的...
  • 0 votes
     answers
     views

    如何按日期对链表进行排序?

    我们假设使用已排序的链接列表来制作具有 Headers ,一些细节,日期和分类优先级的调度程序 . 我设法按优先级对它们进行排序,但首先我必须按日期对它们进行排序 . 由于我使用的日期是一个int月,int day,int year的结构 . 我无法同时对所有3个进行排序 . 我只能弄清楚如何每年或每天或每月排序 . 这是我用于排序日期的虚拟代码: #include <stdio.h>...
  • 25 votes
     answers
     views

    使用什么数据结构来实现动态内存分配堆?

    我总是假设heap (data structure)用于实现一个heap (dynamic memory allocation),但我've been told I'错了 . 通常情况下,如何实现堆(例如,典型的 malloc 例程或Windows的 HeapCreate 等实现的堆)?他们使用什么数据结构? 我不是要问: 在线搜索时,我已经看到了如何实施严格限制堆的描述 .仅举几例,我已经看到了...
  • -1 votes
     answers
     views

    C中的字符串链表

    我正在尝试在C中创建字符串的链接列表,并且在将第一个节点添加到列表中时遇到了问题 . 无论出于何种原因,我的程序打印NULL,即使我将head变量引用到newNode但它不会将字符串从struct指针复制到struct指针 . 任何帮助表示赞赏 . 谢谢! #include "stdafx.h" #include <stdlib.h> #include <st...
  • 0 votes
     answers
     views

    使用任意节点类型在C中创建堆 . 如何释放它?

    要求对这种设计选择进行健全性检查 . 我正在通过创建一个可以接受字符串或数字的节点类型的堆数据结构在C中编写堆排序 . (我正在创建自己的私有堆,我可以排序) 堆中的节点是void *,它们被解引用以执行比较操作 . Heap结构在Heap.nodesize中存储每个节点的大小,如果节点是字符串,则为-1 . 插入节点时,将为void *分配内存 . 如果Heap.nodesize为-1,则将...
  • -3 votes
     answers
     views

    在链表中插入节点

    我有这个练习,要求我创建一个函数,它根据包含一个整数的结构在新节点中添加一个数字到链表的头部 . 这是结构: struct Node { int data; struct Node *next; }; 直到现在都没问题 . 所以我创建了一个带有2个参数的参数:要添加的整数和指向链表头部的指针,但它不起作用 . 这是我的代码: void push(struct Node* head...
  • 38 votes
     answers
     views

    当指向前一个节点的指针不可用时,从单个链表中删除中间节点

    当我们可用的唯一信息是指向要删除的节点的指针而不是指向前一节点的指针时,是否可以删除单个链表中的中间节点?删除后,前一节点应指向旁边的节点删除节点 .
  • 11 votes
     answers
     views

    仅指定指向该节点的指针时,从单个链表中删除任何节点

    这是一个在采访中向我提出的问题 . “内存中有一个链表 . 你必须删除一个节点 . 你需要编写一个删除该节点的函数,该节点只删除节点的地址作为输入而不包括任何其他节点(包括头部)” 我给出了类似于下面帖子中回答的答案 - 将下一个节点的内容复制到要删除的节点中并删除下一个节点 . Deleting a middle node from a single linked list when point...
  • 1 votes
     answers
     views

    有没有办法在Golang中处理带有空格的Google Datastore Kind Property名称?

    我在Datastore遇到一个令人讨厌的问题,似乎没有任何解决方法 . 我正在使用Google Appengine数据存储区包将投影查询结果拉回到Appengine内存中进行操作,这是通过将每个实体表示为Struct来完成的,每个Struct字段对应一个Property名称,如下所示: type Row struct { Prop1 string Prop2 int } 这很好用,但...
  • 2 votes
     answers
     views

    队列让我陷入了奇怪的问题

    我正在尝试使用队列的数据结构,这是一种循环队列 . 这是以下代码 . #include <stdio.h> #include <stdlib.h> enum boolean{ false,true }; struct ArrayQueue{ int rare,front; int capacity; int *array; }; stru...
  • 103 votes
     answers
     views

    以Optimum方式在二叉搜索树中查找第k个最小元素

    我需要在二进制搜索树中找到第k个最小元素,而不使用任何静态/全局变量 . 如何有效地实现它?我在脑海中的解决方案是在O(n)中进行操作,这是最糟糕的情况,因为我计划对整个树进行顺序遍历 . 但在内心深处,我觉得我没有在这里使用BST属性 . 我的假设解决方案是正确的还是有更好的解决方案?
  • 3 votes
     answers
     views

    最大的子树,它是二叉搜索树(BST)

    给定一个二叉树,我想找出其中最大的子树BST . 这个问题与Finding the largest subtree in a BST重复,其中1337c0d3r通过遍历树向下提供O(n)解决方案 . 有两行代码令我困惑 . 任何人都可以帮我解释一下吗? // Find the largest BST subtree in a binary tree. // If the subtree is ...
  • 1 votes
     answers
     views

    从二叉搜索树中删除节点

    我理解删除具有两个子树的节点时的想法:I "erase"节点's value and replace it with either its predecessor from the left subtree' s值或右子树值的后继值,然后删除该节点 . 但是,如果我选择右子树的后继者或左子树的前任,这是否重要?或者只要在执行删除后仍然有二进制搜索树,它是否有效?
  • 6 votes
     answers
     views

    在BST中查找交换的节点

    我正在尝试编写一个程序,可以检测并打印BST中已交换的两个节点 . 在三层树中,我使用这种方法接近解决方案 . If (!AllSubTreeAreValid()) { //Nodes swapped on same side of main root node } else { int max = getMax(root->left); int min = getMin(root-...

热门问题