Pytania oznaczone «big-o»

123
Maksymalny zysk ze sprzedaży jednostkowej

Załóżmy, że mamy tablicę n liczb całkowitych reprezentujących ceny akcji w jednym dniu. Chcemy znaleźć parę (buyDay, sellDay) , gdzie buyDay ≤ sellDay , taką, że gdybyśmy kupili akcje w buyDay i sprzedali w sellDay , zmaksymalizowalibyśmy nasz zysk. Oczywiście istnieje rozwiązanie algorytmu O (n 2...

105
Duże O tablic JavaScript

Tablice w JavaScript można bardzo łatwo modyfikować, dodając i usuwając elementy. To nieco maskuje fakt, że większość tablic językowych ma stały rozmiar i wymaga skomplikowanych operacji, aby zmienić rozmiar. Wygląda na to, że JavaScript ułatwia pisanie słabo działającego kodu tablicowego. To...

105
Dlaczego wstawianie w środku połączonej listy O (1)?

Zgodnie z artykułem Wikipedii dotyczącym list połączonych , wstawianie w środku listy , do której prowadzą linki, jest uważane za O (1). Myślę, że to będzie O (n). Czy nie musiałbyś zlokalizować węzła, który mógłby znajdować się blisko końca listy? Czy ta analiza nie uwzględnia znalezienia...

101
Złożoność czasowa algorytmu Euklidesa

Mam trudności z podjęciem decyzji, jaka jest złożoność czasowa największego wspólnego algorytmu mianownika Euclid. Ten algorytm w pseudokodzie to: function gcd(a, b) while b ≠ 0 t := b b := a mod b a := t return a Wydaje się, że zależy to od a i b . Myślę, że złożoność czasowa wynosi O...

100
Jaka jest różnica między dolną granicą a ciasną granicą?

W odniesieniu do tej odpowiedzi , czym jest Theta (mocno związana)? Omega to dolna granica, całkiem zrozumiała, minimalny czas, jaki może zająć algorytm. Wiemy, że Big-O dotyczy górnej granicy, czyli maksymalnego czasu, jaki może zająć algorytm. Ale nie mam pojęcia o

50
Dlaczego złożoność obliczeniowa O (n ^ 4)?

int sum = 0; for(int i = 1; i < n; i++) { for(int j = 1; j < i * i; j++) { if(j % i == 0) { for(int k = 0; k < j; k++) { sum++; } } } } Nie rozumiem, jak kiedy j = i, 2i, 3i ... ostatnia forpętla działa n razy. Chyba po prostu nie rozumiem, jak doszliśmy do tego wniosku na...