7
この関数の最悪の場合はなぜO(n ^ 2)ですか?
私は、任意の関数のBigO表記を計算する方法を自分自身に教えようとしています。この機能は教科書で見つけました。この本は、関数がO(n 2)であると断言しています。これがなぜなのかを説明していますが、私はそれに従うのに苦労しています。これがなぜそうなのか、誰かが数学を教えてくれるのではないかと思います。基本的に、O(n 3)より小さいことを理解していますが、O(n 2)に単独で着陸することはできませんでした A、B、Cの3つの数字のシーケンスが与えられたと仮定します。個々のシーケンスには重複した値が含まれていないが、2つまたは3つのシーケンスにある数字があると仮定します。3方向の集合のばらばらの問題は、3つのシーケンスの共通部分が空かどうか、つまり、x∈A、x∈B、x∈Cのような要素xがないかどうかを判断することです。 ちなみに、これは私にとって宿題の問題ではありません-その船は何年も前に航海しました:)、私はもっと賢くしようとしています。 def disjoint(A, B, C): """Return True if there is no element common to all three lists.""" for a in A: for b in B: if a == b: # only check C if we found match from A and B for c in C: …