我正在做“算法分析”的任务,我被这个问题困住了,我明天必须提交,我需要帮助。如果你能解决这个问题,请回答。
给定一个包含 n 个数字的数组 A,编写一个有效的算法来找到该数组中最常出现的元素(该数组的模式)。还要分析算法的时间复杂度。
我正在做“算法分析”的任务,我被这个问题困住了,我明天必须提交,我需要帮助。如果你能解决这个问题,请回答。
给定一个包含 n 个数字的数组 A,编写一个有效的算法来找到该数组中最常出现的元素(该数组的模式)。还要分析算法的时间复杂度。
由于这是一项作业,我将仅向您提示复杂性的上限和类似问题。
这个问题比Element Distinctness Problem 1更难一些。元素区别问题被称为不能比O(nlogn)
最坏情况更好地解决。元素区别的解决方案是:
O(nlogn)
O(n)
O(n^2)
O(n)
考虑这两种方法,并尝试考虑如何修改它们以解决您的问题。
此外,元素独特性的下限告诉您不会有比O(nlogn)
最坏情况更好的算法。
(1) Element Distinctness 问题:数组中的所有元素都是不同的吗?或者是否有任何元素也有自己的副本?