我正在学习关于大O的一切,我试图获得每个程序的大复杂性。我想确保我的复杂性是正确的。
计划1:
步骤1 - 读取文件O(n)
中的所有单词,n是单词表的大小
第2步 - 循环遍历每个单词的字符并操纵它们(我不会详细介绍它的作用,它只是一个循环) - O(m)
其中m是单词中的字符数
第3步 - 插入HashMap O(1)
总计 - O(n + m)
计划2:
第1步 - 将单词传递给程序
第2步 - 在hashmap中查找单词 - O(1)
第3步 - 循环遍历每个单词的字符并操纵它们O(m)
,其中m是单词中的字符数
第4步 - 在函数中输入单词 - 我将其计算为O(2^m)
,其中m是单词中的字符数
第5步 - 在hashmap O(1)
O(2^m + m)
程序不涉及O(n),因为我只是查找hashmap。循环传入单词
的字符的唯一复杂性答案 0 :(得分:0)
迭代所有单词中的所有字符是O(n * m),其中n是单词的数量,m是单词的最大长度
插入和查找散列图在技术上是O(n)(如果所有元素都散列到相同的值),但是如果你的教授说它是O(1)那么就去那个
我们无法帮助您“第4步 - 在不知道功能是什么
的情况下将单词输入功能”