最有效的字符计数算法?

6 algorithm

假设您想计算某些文本中字符的出现次数。

我能想到的最快方法是使用一个数组unsigned char charcounts[256],将其初始化为零,然后查看文本输入中的每个字符并执行charcounts[c]++. 然后charcounts[]使用两个变量进行线性搜索以跟踪最低(到目前为止)的字符及其计数,当我们找到较低的字符时将其替换为新的字符/计数,直到我们到达最后。

所以“文本”将是 t=2、e=1、x=1。

有没有更快的方法来做到这一点?

Gre*_*ill 0

这听起来像是执行您所描述的操作的最有效方法之一。我不确定你想对第二部分做什么,听起来你想找到排序数据中出现次数最少的字符?