Funkcja:Złożoność dla maxheight funkcji w binarnym drzewie
MAX-HEIGHT(node)
if(node == NIL)
return -1;
else
return max(MAX-HEIGHT(node.leftChild), MAX-HEIGHT(node.rightChild)) + 1;
Załóżmy, że mamy N węzłów i wywołać funkcję z MAX-HEIGHT(root).
myślę, że złożoność tej funkcji jest O (N), ponieważ musimy odwiedzić każdy węzeł. Jednak nie jestem pewien i nie mogę tego udowodnić rygorystycznie. Proszę podać mi dobre wyjaśnienie, dlaczego jest to O (N), jeśli jest to O (N), i dlaczego nie, jeśli nie jest O (N).
Co to jest złożoność?
Dziękuję.
BTW, można dostosować do drzewa, aby informacje wewnętrznie, i sprawiają, że O (1) Praca i przeliczyć ją po modyfikacji drzewa (dla zrównoważone drzewo, ponowne obliczenie-po-modyfikacji będzie operacją O (log n)) –