gpt4 book ai didi

algorithm - 字符串中的字符频率计算

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:35:11 27 4
gpt4 key购买 nike

我正在寻找最有效的(时间和空间)算法来计算给定字符串的字符频率。

想到的最简单的算法是有一个要搜索的标志数组(大小 = 不同字符的数量)并增加相应索引的计数器。这在线性时间内有效。唯一的问题是标志数组的空间要求,如果需要所有 ASCII 字符,它可能达到 256 个。

有没有更好的算法,可以节省空间/时间?

最佳答案

如果您使用 hash table要存储计数器,您需要的空间与字符串中不同字符的数量成比例,并且您仍然可以在线性时间内运行计算。很容易看出,您不能比线性时间更好,因为您需要至少查看每个字符一次。

但是实际上,如果您的字符串真的只使用一个字节来存储一个字符(即它不是 Unicode),您的“标志数组”将只有大约 1 kb,因此可能是最好的选择,因为它不是具有哈希表的(常数因子)时间和空间开销。

关于algorithm - 字符串中的字符频率计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12135328/

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