2008-10-07 10 views

Odpowiedz

8

Dictionary of Algorithms and Data Structures to dość obszerna lista i zawiera złożoność (Big-O) w opisach algorytmów. Jeśli potrzebujesz więcej informacji, znajdzie się on w jednym z powiązanych odnośników, i zawsze jest Wikipedia jako zabezpieczenie.

+0

Pobrałem wszystkie strony i sporządził listę off każdą stronę, która zapewnia dużą O: https://pastebin.com/X3c7i4aF – BlackCap

6

The Cormen book to więcej informacji na temat nauczania, jak udowodnić, czym Big-O byłby dla danego algorytmu, a nie na pamięć zapamiętywania algorytmu do jego wydajności Big-O. Ten pierwszy jest znacznie bardziej wartościowy niż ten drugi i wymaga inwestycji z twojej strony.

2

W języku C++ standardy STL są zdefiniowane przez charakterystyki algorytmów Big-O oraz wymagania dotyczące miejsca. W ten sposób można przełączać się między konkurującymi implementacjami STL i nadal wiadomo, że program ma te same cechy środowiska wykonawczego. Szczególnie dobre implementacje STL mogą nawet specjalne listy przypadków poszczególnych typów być lepsze niż standardowe wymagania.

Ułatwiło to wybranie właściwego iteratora lub typu listy dla konkretnego problemu, ponieważ można łatwo zważyć zużycie przestrzeni i prędkość.

Ofcourse Big-O jest tylko linią pomocniczą, ponieważ wszystkie stałe są usuwane. Jeśli algorytm działa w k * O (n), byłby sklasyfikowany jako O (n), ale jeśli k jest wystarczająco wysoki, może być gorszy niż O (n^2) dla niektórych wartości n i m.

Powiązane problemy