W notacji Big O chodzi o przybliżenia. Ułatwia porównywanie algorytmów.
Jeśli wyobrazisz sobie tablicę elementów, może to być szukanie N (musisz spojrzeć na każdy element, aby znaleźć żądany przedmiot), może to być log (N), jeśli masz zamówioną kolekcję lub nawet zamów 1, w zależności od rodzaju kolekcji.
Ważne jest, aby spojrzeć na swój algorytm i ustalić, jakie kluczowe operacje są powtarzane.
Foreach jest wyraźnie porządkiem N operacji, z definicji musisz operować na każdym elemencie na liście. O (N)
Następna jest twoja, jeśli InArray 2. To brzmi jak przeszukiwanie tablicy, która najprawdopodobniej byłaby nieuporządkowana, więc byłaby to kolejność N (wyszukiwanie liniowe). Więc twoja złożoność będzie teraz O (N * M). (dla każdego n elementów w tablicy 1, wykonaj wyszukiwanie porządku złożoności N względem tablicy 2).
Wreszcie masz tablicę push. Nie znam twojego środowiska, ale może to być kolejność 1 lub zamówienie N, jeśli tablica musi zostać ponownie przydzielona i skopiowana, aby rosnąć. Przyjmijmy, że zamówienie 1 jest proste. Zatem twoja złożoność w Big O to O (N * M).
Teraz najlepiej jest dla każdego elementu znaleźć jego odpowiednik przy pierwszej próbie i wykonać naciśnięcie tablicy, które byłoby O (N * 1 * 1) = O (N).
Najgorszym przypadkiem jest to, że każdego elementu nie można znaleźć na drugiej liście wymuszając pełne przeszukanie wszystkich elementów w tablicy 2. Zatem złożoność to O (N * M).
Twoi nauczyciele chcą zrozumieć twoje myślenie, więc pokaż im swoje założenia. Gorąco polecam przeczytanie dokładnego pytania i informacji, które otrzymałeś, zanim powinieneś oprzeć się na założeniach tutaj podanych, możesz być poinformowany o języku/platformie, która wskaże ci dokładną karę i algorytmy używane w każdym przypadku. Nadzieję, że pomaga :)
A więc, najlepszym przypadkiem jest n, najgorszy przypadek duży o O (N * (N + M))? –
Tak, właśnie to. Jeśli 'tablica_2' jest pusta, najgorszy rzut jest uproszczony do' O (N^2) '. –
Oh widzę .. Dziękuję Matthiu, Dr Math :) Po prostu nie mogę znaleźć najgorszego przypadku hihi .. –