Wolałbym jak najmniej formalnej definicji i prostej
Złożoność czasowa algorytmu określa ilość czasu potrzebnego do działania algorytmu jako funkcję rozmiaru danych wejściowych do problemu. Złożoność czasowa algorytmu jest zwykle wyrażana za pomocą notacji dużego O, która eliminuje stałe multiplikatywne i terminy niższego rzędu.
Wolałbym jak najmniej formalnej definicji i prostej
Jaki jest najbardziej zwięzły i wydajny sposób sprawdzenia, czy tablica JavaScript zawiera wartość? To jedyny znany mi sposób: function contains(a, obj) { for (var i = 0; i < a.length; i++) { if (a[i] === obj) { return true; } } return false; } Czy istnieje lepszy i bardziej zwięzły...
Uczę się o czasach działania i czasach amortyzacji Big O Notation. Rozumiem pojęcie czasu liniowego O (n) , co oznacza, że rozmiar danych wejściowych wpływa proporcjonalnie na wzrost algorytmu ... to samo dotyczy na przykład czasu kwadratowego O (n 2 ) itd. Nawet algorytmy , takie jak generatory...
Project Euler i inne konkursy kodowania często mają maksymalny czas do uruchomienia lub ludzie chwalą się szybkością działania danego rozwiązania. W Pythonie czasami podejścia są nieco kludgey - tj. Dodawanie kodu czasowego do __main__. W jaki sposób można profilować, ile czasu zajmuje...
Pytanie Jak znaleźć złożoność czasową algorytmu? Co zrobiłem przed opublikowaniem pytania na SO? Przejrzałem to , to i wiele innych linków Ale nie, gdzie nie mogłem znaleźć jasnego i prostego wyjaśnienia, jak obliczyć złożoność czasu. Co ja wiem ? Powiedz kod tak prosty jak ten poniżej: char...
Biorąc pod uwagę, że ciągi są niezmienne w .NET, zastanawiam się, dlaczego zostały zaprojektowane tak, że string.Substring()zajmuje O ( substring.Length) zamiast O(1)? tj. jakie były kompromisy, jeśli w
Rozumiem notację Big-O, ale nie wiem, jak ją obliczyć dla wielu funkcji. W szczególności starałem się zrozumieć złożoność obliczeniową naiwnej wersji sekwencji Fibonacciego: int Fibonacci(int n) { if (n <= 1) return n; else return Fibonacci(n - 1) + Fibonacci(n - 2); } Jaka jest złożoność...
Jaka jest różnica między Big-O notacji O(n)i Little-O notacji
Czy są jakieś przypadki, w których wolisz O(log n)złożoność O(1)czasu niż złożoność czasu? A O(n)może O(log n)? Czy masz jakieś
Zasoby, które znalazłem na temat złożoności czasowej, nie są jasne, kiedy można zignorować terminy w równaniu złożoności czasowej, w szczególności na przykładach innych niż wielomianowe. Jest dla mnie jasne, że biorąc pod uwagę coś w formie n 2 + n + 1, ostatnie dwa terminy są nieistotne. W...
Widziałem kilka interesujących twierdzeń dotyczących haszmap SO re Java i ich O(1)czasu wyszukiwania. Czy ktoś może wyjaśnić, dlaczego tak jest? O ile te hashmapy nie różnią się znacznie od któregokolwiek z algorytmów haszujących, na których zostałem zakupiony, zawsze musi istnieć zbiór danych...
Słyszałem, jak ktoś powiedział, że skoro wyszukiwanie binarne zmniejsza o połowę dane wejściowe wymagane do wyszukiwania, jest to algorytm log (n). Ponieważ nie jestem z wykształcenia matematycznego, nie mogę się do tego odnieść. Czy ktoś może to wyjaśnić bardziej szczegółowo? czy to ma coś...
Podstawowy algorytm dla BFS: set start vertex to visited load it into queue while queue not empty for each edge incident to vertex if its not visited load into queue mark vertex Więc myślę, że złożoność czasowa byłaby następująca: v1 + (incident edges) + v2 + (incident edges) +...
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...
Które algorytmy, których używamy codziennie, mają złożoność O (1), O (n log n) i O (log
Moja wiedza na temat big-O jest ograniczona, a kiedy logi logiczne pojawiają się w równaniu, wytrącają mnie jeszcze bardziej. Czy ktoś może mi wyjaśnić w prostych słowach, czym jest O(log n)algorytm? Skąd pochodzi logarytm? Pojawiło się to szczególnie, gdy próbowałem rozwiązać to pytanie...
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...
To wcześniejsze pytanie dotyczy niektórych czynników, które mogą powodować, że algorytm ma złożoność O (log n). Co spowodowałoby, że algorytm miałby złożoność czasową O (log log
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...
Co to jest czas pseudo wielomianowy ? Czym różni się od czasu wielomianowego? Niektóre algorytmy działające w czasie pseudo wielomianowym mają czasy wykonania, takie jak O (nW) (dla problemu plecakowego 0/1 ) lub O (√n) (dla podziału próbnego ); dlaczego to nie liczy się jako czas wielomianowy?...