data-structures相关内容

为什么 HashMap 调整大小以防发生碰撞或最坏的情况

我只针对 1.7 之前的 java 版本提出这个问题.我正在使用反射来找出 HashMap 的当前容量.在下面的程序中,将 12 个唯一的人放入一个 HashMap 桶中(使用相同的哈希码).然后我将第 13 个独特的人放在相同或不同的存储桶上(使用相同或不同的哈希码).在这两种情况下,添加第 13 个元素后,HashMap 都将大小调整为 32 个桶.我知道由于负载因子 0.75 和初始容量 1 ..
发布时间:2022-01-08 14:34:49 Java开发

电话簿的数据结构,它可以按姓名搜索号码,也可以按号码搜索姓名

你知道以下面试问题的解决方案吗? 为电话簿设计一个数据结构,它可以安全且有效地按名称搜索数字,也可以按数字搜索名称. 详情: 在 stackoverflow 上找到的解决方案都是关于哈希表的,但是,我必须为此构建 2 个哈希表,这需要两倍的空间. 如何以一种节省时间和空间、类型安全的方式仅使用一个数据结构? 解决方案 这种数据结构被称为多索引容器.它们在大多数编程语 ..
发布时间:2022-01-08 14:33:56 其他开发

找出一本大书中最常用的 10 个单词

我知道这已经在论坛上被问过几次,我没有找到任何可以被认为是最合适的解决方案的“标记"答案 - 所以再次询问: 我们从书中得到了一个非常大的文本,所有这些都无法放入记忆中.我们需要找到文本中出现频率最高的 10 个单词.执行此操作的最佳(时间和空间)方式是什么? 我的想法: 将文件分成 k 个大小的块(这样每个块都可以存储在内存中).现在,对每个块执行外部排序.一旦我们在磁盘上有 ..
发布时间:2022-01-08 14:31:27 其他开发

HashMap 和 HashTable 的区别纯粹在数据结构上

HashTable 和 HashMap 之间有什么区别纯粹在数据结构的上下文中(而不是在 Java 或任何其他语言中)? 我看到人们在同一概念上交替使用这些术语.纯粹在数据结构的上下文中是否完全没有区别? 解决方案 在计算科学术语中,map 是从键到值的关联容器映射.换句话说,您可以执行“for key K remember value V"之类的操作.然后“为键 K 获取值".映射 ..
发布时间:2022-01-08 14:27:14 其他开发

为什么 hash map 比 trie map 好?

trie map 是指关联数组,其中有效负载存储在 trie 而不是哈希表中. 当我使用哈希映射/表时,我使用的键通常是字符串.与某些基于 trie 的映射相比,哈希映射有哪些优势?我已经读过哈希映射更快 - 但在我看来,一致的哈希函数必须检查 (char) 数组的每个元素以获取最终哈希 - 遍历数组一次.在 trie 中,您同样必须只对数组进行一次迭代. 在我看来,这在对小对象进行编 ..
发布时间:2022-01-08 14:20:42 其他开发

您将使用哪种数据结构:TreeMap 或 HashMap?(爪哇)

说明 | 一个 Java 程序,用于读取文本文件并按字母顺序打印每个唯一单词以及该单词在文本中出现的次数. 程序应该声明一个Map类型的变量来存储单词和相应的出现频率.但是,哪种具体类型?TreeMap 或 HashMap ? 输入应转换为小写. 单词不包含以下任何字符:\t\t\n]f.,!?:;\"()' 示例输出 | 词频一个 1和 5出场 1作为 1... 备 ..
发布时间:2022-01-08 14:10:45 Java开发

Java ConcurrentHashMap 在性能方面优于 HashMap 吗?

我刚刚在阅读《清洁代码》这本书时遇到了这样的说法: 在 Java 还年轻的时候,Doug Lea 写了一本开创性的书[8] Concurrent用Java编程.除了这本书,他还开发了几本线程安全的集合,后来成为 JDK 的一部分java.util.concurrent 包.该包中的集合是安全的对于多线程情况,它们表现良好.事实上,ConcurrentHashMap 实现比 HashMap 在 ..
发布时间:2022-01-08 14:04:45 Java开发

为什么 hashmap 查找是 O(1) 即常数时间?

如果我们从 Java 的角度来看,那么我们可以说 hashmap 查找需要恒定的时间.但是内部实现呢?它仍然必须通过特定的桶(匹配哪个键的哈希码)来搜索不同的匹配键.那为什么我们说哈希图查找需要恒定的时间呢?请解释. 解决方案 在使用哈希函数的适当假设下,我们可以说哈希表查找需要 预期 O(1) 时间 (假设您使用的是标准散列方案,如线性探测或链式散列).这意味着平均而言,哈希表执行查找的 ..
发布时间:2022-01-08 13:48:56 其他开发

创建arraylist哈希图的最佳方法

我有一百万行 .txt 格式的数据.格式非常简单.对于每一行: 用户 1,值 1用户2,价值2用户 3,价值 3用户 1,值 4... 你知道我的意思.对于每个用户,它可能出现多次,或者只出现一次(你永远不知道).我需要找出每个用户的所有值.因为用户可能随机出现,所以我使用 Hashmap 来做.即:HashMap(key: String, value: ArrayList).但是要向ar ..
发布时间:2022-01-08 13:45:09 Java开发

VB.NET 嵌套来自不同范围的语句

我想知道这是否可能.我有一个列表 (lstTable),它与我试图用来自公共结构 (ELEM_DATA) 的信息填写的表单相同.我知道嵌套 with 语句在同一范围内会起作用,但如何使用下面的示例 2 执行此操作: 示例 1: 与我.lstTable.Items(RECORD).SubItems(1).text = ELEM_DATA(RECORD).name.SubItems(2).te ..
发布时间:2022-01-07 13:58:00 其他开发

如何在 C++ 中初始化嵌套结构?

我在一个程序中创建了几个不同的结构.我现在有一个带有嵌套结构的结构,但是我无法弄清楚如何正确初始化它们.下面列出了这些结构. /***点结构***/结构点{浮动 x;//x点坐标浮动 y;//y坐标};/***边界框结构***/结构边界框{点 ymax, ymin, xmax, xmin;};/***球员结构***/结构播放器{向量X;//玩家坐标向量y;//玩家坐标BoundingBox 框; ..
发布时间:2022-01-07 13:46:18 C/C++开发

如何就地将二叉树转换为二叉搜索树,即我们不能使用任何额外的空间

如何将二叉树就地转换为二叉搜索树,即我们不能使用任何额外的空间. 解决方案 你没有太多的事情要做,但如果需求是我认为的那样,你已经创建了一个二叉树并坐在内存中,但未排序(无论如何,您希望它的排序方式). 我假设树节点看起来像 struct tree_node {struct tree_node * 左;struct tree_node * 对;data_t 数据;}; 我还假设您 ..

如何将有向无环图 (DAG) 转换为树

我一直在寻找将 DAG 转换为树的 C# 示例. 有没有人有正确方向的例子或指示? 澄清更新 我有一个图表,其中包含我的应用程序需要加载的模块列表.每个模块都有一个它所依赖的模块列表.例如,这里是我的模块,A、B、C、D 和 E A 没有依赖项 B 依赖于 A、C 和 E C 依赖于 A D 依赖于 A E 取决于 C 和 A 我想解决依赖关系并生成一个看起来 ..
发布时间:2022-01-05 19:05:27 C#/.NET

范围内的第 K 个最小值

给定一个整数数组和一些查询操作. 查询操作有两种类型 1.将第i个索引的值更新为x. 2.给定2个整数,找出该范围内的第k个最小值.(例如,如果2个整数是i和j,我们必须找出i和j之间的第k个最小值). 我可以使用段树找到范围最小查询,但对于第 k 个最小值则无法这样做.有人可以帮我吗? 解决方案 这里是一个 O(polylog n) 每个查询解决方案,它实际上不假设一个常量 k, ..
发布时间:2022-01-05 19:05:17 其他开发

如何使用延迟传播实现段树?

我在互联网上搜索了关于段树的实现,但在延迟传播方面一无所获.之前有一些关于堆栈溢出的问题,但他们专注于解决 SPOJ 的一些特定问题.虽然我认为这是对带有伪代码的段树的最佳解释,但我需要通过延迟传播来实现它.我找到了以下链接: http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=lowestCommonAncestor ..
发布时间:2022-01-05 19:04:33 其他开发

段树 2 * 2 ^(ceil(log(n))) - 1 数组的内存如何?

链接:http://www.geeksforgeeks.org/segment-tree-set-1-sum-of-given-range/.这是引用的文本: 我们从一个段 arr[0 开始...n-1].并且每次我们将当前段分成两半(如果它还没有变成长度为1的段),然后在两半上调用相同的过程,对于每个这样的段,我们将总和存储在相应的节点中.除最后一层外,将填充构建的线段树的所有层.此外,这 ..
发布时间:2022-01-05 19:04:11 其他开发