首页 文章
  • 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

    可以在并发线程中构建skiplist索引吗?

    可以使用多个存储桶和索引线程并行创建哈希索引 . 是否有可能将跳过列表索引的计算*分布在多个CPU内核上,或者数据结构本身是否可以防止这种情况? *索引构建,而不是索引利用率!
  • 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

    数字的内存有效数据结构

    我有一张很大的 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 . 那么,我们不是通过对元素进行排序或执行任何其他算法来创建有序的? 有没有一个例子表明只是插入元素就无法构建树?
  • 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中拥有密钥有什么好处?
  • 1 votes
     answers
     views

    设计O(1)数据结构

    如何在常量时间内实现支持以下内容的数据结构 . 我在面试时得到了这个问题,以下是我的解决方案 . 如果您有方法,请检查我的方法,或建议更好的替代方法 . //////////////////////////////////////////////////////////////// // Implement a container that have the following methods: ...
  • -1 votes
     answers
     views

    请指出我在这个数据结构实现中的错误[关闭]

    在大小的数组上的左旋转操作将每个阵列的元素1单元向左移位 . 例如,如果在数组[1,2,3,4,5]上执行了2次左旋转,则数组将变为[3,4,5,1,2] . 给定一个整数数组和一个数字,在数组上执行左旋转 . 然后将更新的数组打印为单行空格分隔的整数 . 样本输入:5,41 2 3 4 5样品输出:5 1 2 3 4我的输出为:2 2 3 4 1 #!/bin/python3 impo...
  • -1 votes
     answers
     views

    数组操作黑客排名解决方案

    伙计们我想解决"Arrays Manipulation" in hacker rank 但是我在几个测试用例中面临超时错误,请帮助我理解下面代码中的问题 . public class ArrayManipulation { public static void main(String [] args) { Scanner scanner = new ...
  • 0 votes
     answers
     views

    设计库存管理数据库?

    我正在为库存管理系统设计数据库,该系统已被近10到15家公司使用 . 这个数据库包含近25个表 . 为了设计数据库,我计划使用 shared schema architecture (即每个模式对应一个公司,这些模式都放在一个数据库中) . 我想知道使用 shared schema architecture 是否可靠 . 任何人都可以告诉我使用上述架构是否正确 . 提前致谢..
  • 25 votes
     answers
     views

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

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

    与螺纹二叉树混淆

    大家好, 根据下面给出的螺纹二叉树的定义 二进制树通过使所有正确的子指针(通常为空指向节点的inorder后继者)进行线程化,并且通常为null的所有左子指针指向该节点的inorder前导 . 但是在上面的图中右子指针指向inorder和前面的子指针指向inorder,这让我感到困惑 .
  • 1 votes
     answers
     views

    二叉搜索树递归混淆

    我认为这是一个愚蠢的问题但很遗憾地说它会清除我的困惑 . 如果您只是查看此代码 void printInOrder(){ printPrivateInOrder(root); } void printPrivateInOrder(Node* n){ if (root != NULL){ if (n->left != NULL){...
  • 37 votes
     answers
     views

    balancer BST

    Reference: 我被问到这个问题@MS SDE采访,第3轮 . 这不是一个家庭作业问题 . 我也考虑了一下,并在下面提到了我的方法 . Question: 修改BST,使其尽可能 balancer . 不用说,你应该尽可能高效地做到这一点 . Hint: 采访者说这是一个合乎逻辑的问题,如果你有不同的想法,你会得到答案 . 没有困难的编码 . 话虽如此,我认为他不指望我指向AVL /...
  • 1 votes
     answers
     views

    C中的二进制搜索树:删除节点功能

    我正在为二元搜索树组合函数并遇到一堵墙 . 我正在处理需要从树中删除保存指定值的节点时可能遇到的每种情况 . 我不确定如果它没有左右孩子,如何处理释放节点 . 该函数必须返回一个节点 . 我是否会备份,检查每个左右孩子,并在孩子身上移除该值?但是,如果值在根目录中,我是否会遇到与删除它类似的问题?仅作为解释,程序使用void指针然后在单独的函数compare()中强制转换TYPE值,该函数计算两个...
  • 0 votes
     answers
     views

    给定BST和BST中的节点,将该节点作为树的新根

    给定 BST 和 BST 中的节点,将该节点作为树的新根 . 但是在将此节点设置为root之后仍然将树维护为 BST . 我尝试如下:将给定节点作为根,如果它在原始根的左侧,则将原始根作为其右子,并将原始根的子节点作为新根的左子节点(类似地,如果新根在原始右侧)根) . 现在,有两种情况: 如果节点(新根在原始结构中的位置)是叶子,那么根本不用担心 问题是当节点(新根在原始结构中的位置)...

热门问题