/ / Algorytm dla maksymalnej liczby całkowitej w tablicy liczb całkowitych - algorytm, mergesort, bubble-sort

Algorytm dla maksymalnej liczby całkowitej w tablicy liczb całkowitych - algorytm, mergesort, bubble-sort

Jeśli potrzebujemy wdrożenia funkcji, która wymagatablica liczb całkowitych i zwraca maksymalną liczbę całkowitą w kolekcji, przy założeniu, że długość tablicy jest mniejsza niż 1000. Czy używałbyś Sortowania bąbelkowego lub Sortowania scalonego i dlaczego?

Co się stanie z powyższym wyborem algorytmu,jeśli długość macierzy jest większa niż 1000? Jestem nieco zdezorientowany, dlaczego powinienem użyć konkretnego algorytmu na innym. Czy to właśnie ze względu na swoją złożoność i czas lub inne czynniki również w to zaangażowane? Co się stanie, jeśli będę musiał przetestować powyższą funkcję i która zajmie dużo więcej czasu na prosty algorytm, a mniej na złożony?

Odpowiedzi:

18 dla odpowiedzi № 1

W ogóle bym sobie nie poradził, przeszedłem tylko przez tablicę i śledziłem największy z nich. Zajmuje to czas O (N), podczas gdy algorytmy sortowania zwykle nie są lepsze od O (N * log (N)).


3 dla odpowiedzi № 2

Ta strona kołysze

http://www.sorting-algorithms.com/


2 dla odpowiedzi nr 3

Cóż, jeśli MUSISZ sortować, użyj sortowania scalaniaponieważ jest o wiele szybszy niż sortowanie bąbelkowe - w przypadku 1000 elementów i jednego rodzaju prawdopodobnie nie zauważysz różnicy na nowoczesnym komputerze, ale w przypadku większej liczby elementów (myślę> 10 000) różnica staje się nie do zaakceptowania.


0 dla odpowiedzi nr 4

Pozwala wywołać długość twojej tablicy N.

Sortowanie tablicy za pomocą Bubble Sort zajmuje mniej więcej tyle, ile wynosi N * N jednostek czasu.

Sortowanie za pomocą funkcji Sortowanie w porządku odbywa się w kolejności N * log N jednostek czasu.

Po prostu patrzenie na każdy element jeden po drugim i śledzenie, który z nich jest największy, będzie przyjmowało N jednostek czasu.

Dlatego używaj ostatniej metody.