Algorithm 计算链表中出现次数的算法
对于无序链表,什么算法可以计算特定数据段的出现次数 算法(伪代码):Algorithm 计算链表中出现次数的算法,algorithm,list,Algorithm,List,对于无序链表,什么算法可以计算特定数据段的出现次数 算法(伪代码): 我将使用从元素到计数的哈希映射来实现。在伪代码中,它可能如下所示: map = new HashMap() for (item : list) { if map.has_key(item) ++map[item] else map[item] = 0 } 之后,对于每个项目,map[item]包含项目的出现次数 如果你只想计算一个特定的项目,你也可以这样做 count = 0 for (item :
我将使用从元素到计数的哈希映射来实现。在伪代码中,它可能如下所示:
map = new HashMap()
for (item : list) {
if map.has_key(item)
++map[item]
else
map[item] = 0
}
之后,对于每个项目,map[item]包含项目的出现次数
如果你只想计算一个特定的项目,你也可以这样做
count = 0
for (item : list) {
if (item == counted_item) {
++count
}
}
然后count包含counted_item的currence数。由于链表不是本地python数据类型,您必须实现自己的数据类型,这意味着我们需要了解您是如何实现的。加上你为解决这个问题所做的努力。它被称为“暴力搜索”,也称为“循环”:-@Bergi Sure。这是一个有效(尽管很简单)问题的有效答案(你可以看到我在下面提供的答案)。@GreenAsJade谢谢,我知道这是一个简单的问题,我只是感到困惑,因为在我的讲座中我们刚刚了解了:
类节点:def uu init u;(self,initdata):self.data=initdata self.next=none类无序列表:def\uu init\uuuuuuu(self):self.hed=none
无需担心-请确保对任何有帮助的答案进行投票,并接受“正确”的答案请注意,此解决方案假定列表类型具有一个interator。“原始”链接列表不会有这样的功能。也就是说,这个答案没有涉及问题的“链表”方面。
count = 0
for (item : list) {
if (item == counted_item) {
++count
}
}