Go中reflect.DeepEqual()最坏情况下的时间复杂度是多少?



我试图分析源代码,但是许多其他函数是从deepValueEqual()内部调用的,我必须承认在这种情况下使用递归让我感到困惑。

有没有关于函数最坏情况下运行时间的官方文档?

*编辑:我不太明白如何在这种情况下用两个interface{}类型的参数定义输入大小,这增加了我的困惑。也许这是由于我不熟悉时间的复杂性。

Go中reflect.DeepEqual()最坏情况下的时间复杂度是多少?

O (n)。请注意,你的问题在形式上没有多大意义。"时间complexity"是"输入大小"的函数;以及如何衡量"输入大小"没有很好的定义。反映。DeepEqual只接受一个参数,所以它的时间复杂度是O(1),因为你不能将这个函数应用于多个参数。如何测量的大小一个参数你没有告诉。

有没有关于函数最坏情况下的运行时间的官方文档?

最新更新