我正在研究双变音算法。我只想计算算法所属的效率等级。这是在Python中。这是我能找到的最易读的代码。
我不是很擅长分析算法的时间,但我知道这个算法中的 while 循环应该花费最多的时间。在这种情况下,程序从左到右查看字符串中的每个字符:
while pos <= last :
我假设这将需要 n 步,其中 n 是字符串的长度。
然而,该算法在这个循环中有很多“if”和“elif”语句;我不知道它们是否会显着影响时间。谁能帮我完成这个?我想通过总结来计算时间效率。
为了尝试回答我自己的问题,我认为它的最佳效率是长度为 1 的字符串,它必须输入尽可能少的“if”语句。另一方面,最坏的情况可能只是一个非常长的字符串。
谢谢!