Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 计算链表中出现次数的算法_Algorithm_List - Fatal编程技术网

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
  }
}