gpt4 book ai didi

arrays - 什么是最好的(实践)方法来存储有关单词在文本中的出现和位置的数据以便快速访问?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:52:56 24 4
gpt4 key购买 nike

我即将开始编写一个程序,该程序将分析文本并以某种形式存储文本中的所有独特单词,以便稍后调用。当被调用时,它将给出该词在原文中所有出现的位置,并返回周围的词。

我认为最好的方法是使用 HashMap ,因为它使用唯一的单词作为键,然后使用 int[] 作为映射值。但我不知道这是否被认为是最佳实践。我的解决方案是用一个数组来存储原始文本,它可能非常大,还有一个 HashMap ,每个唯一单词都有一个键值对,这可能几乎与包含文本的数组一样大。你会如何解决?

最佳答案

另一种可能性是 26 叉树(考虑到您的字母表有 26 个字符)。
构建你的树来存储你遇到的单词,每个节点代表一个单词;然后在每个节点中,您可以存储指向字符串中出现的单词的指针数组(或表示索引的 int 数组)。
在内存和复杂度上,它相当于hash map的实现(同样的速度,稍微更紧凑),但对我来说似乎比hash map更直观一些。
所以我想说这主要取决于您和您最喜欢的结构。

关于arrays - 什么是最好的(实践)方法来存储有关单词在文本中的出现和位置的数据以便快速访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45976080/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com