Pytania otagowane jako complexity

Złożoność dotyczy różnych form obliczania złożoności kodu. Złożoność cyklomatyczna, złożoność n-ścieżkowa, złożoność czasu i przestrzeni Big O.

3
Czy istnieje korelacja między złożonością a osiągalnością?
Ostatnio badałem złożoność cykliczną (McCabe) i dostępność oprogramowania na uni. Dzisiaj mój wykładowca powiedział, że nie ma korelacji między tymi dwoma miernikami, ale czy tak naprawdę jest? Sądzę, że na pewno istnieje pewna korelacja, ponieważ mniej złożone programy (z niewielu, na które patrzyliśmy) wydają się mieć „lepsze” wyniki pod względem …



2
Co to oznacza oczekiwany czas działania i średni czas działania algorytmu?
Powiedzmy, że chcemy przeanalizować czas działania algorytmów. Czasami mówimy, że chcemy znaleźć czas działania algorytmu, gdy wielkość wejściowa wynosi n, aw najgorszym możliwym przypadku jest oznaczona przez O (n). Czasami jednak widzę książki / artykuły mówiące, że musimy znaleźć oczekiwany czas działania algorytmu. Czasami wykorzystywany jest również średni czas działania …


4
Czy czas stały i amortyzowany stały czas są faktycznie uważane za równoważne?
Muszę napisać RandomQueue, która pozwala na dołączanie i losowe usuwanie w Constant Time (O (1)). Moją pierwszą myślą było poparcie go jakimś rodzajem Array (wybrałem ArrayList), ponieważ tablice mają stały dostęp za pośrednictwem indeksu. Przeglądając dokumentację, zdałem sobie sprawę, że dodatki ArrayLists są uważane za amortyzowane stałe, ponieważ dodanie może …

1
Czy projektowanie oparte na domenach jest użyteczne / produktywne w przypadku mniej skomplikowanych domen?
Oceniając potencjalny projekt w pracy, zasugerowałem, że może być korzystne zastosowanie podejścia projektowego opartego na domenie do modelu obiektowego. Projekt nie ma nadmiernie złożonej domeny, więc mój współpracownik rzucił mi to: Powiedziano, że DDD jest korzystny w przypadkach, gdy istnieje złożony model domeny („... Ma zastosowanie, gdy działamy w złożonej, …

8
Kiedy należy usunąć złożoność?
Przedwczesne wprowadzanie złożoności poprzez wdrażanie wzorców projektowych przed ich użyciem nie jest dobrą praktyką. Ale jeśli zastosujesz się do wszystkich (lub nawet większości) zasad SOLID i zastosujesz wspólne wzorce projektowe, wprowadzisz trochę złożoności w miarę dodawania lub zmieniania funkcji i wymagań, aby zachować łatwość konserwacji i elastyczność w razie potrzeby. …

3
Jak długo i jakiego rodzaju złożoności byłby udział w napisaniu przez Chrisa Sawyera większości potentata górskiego w asemblerze?
Z tego pytania mam inne pytanie dotyczące ... Jak długo i jakiego rodzaju złożoności byłby udział w pisaniu przez Chrisa Sawyera większości potentata rollercoastera w asemblerze? Chciałbym sprecyzować i rozbić to pytanie, jestem zainteresowany; W przybliżeniu ile osobogodzin (zgadnij) szacujesz, że zajęłoby to Chrisowi napisanie gry sam? Lub alternatywnie podaj …

8
Jak poradzisz sobie ze skokiem złożoności?
Wydaje się to rzadkie, ale powszechne doświadczenie, że czasami pracujesz nad projektem i nagle coś niespodziewanie się pojawia, rzuca ogromny klucz w prace i bardzo zwiększa złożoność. Na przykład pracowałem nad aplikacją, która rozmawiała z usługami SOAP na różnych innych komputerach. Wymyśliłem prototyp, który działał dobrze, a następnie opracowałem regularny …

5
Wskazówki dotyczące nazywania niewygodnych obiektów specyficznych dla domeny?
Modeluję układ chemiczny i mam problemy z nazywaniem moich elementów / przedmiotów w wyliczeniu. Nie jestem pewien, czy powinienem użyć: wzór atomowy nazwa chemiczna skrócona nazwa chemiczna. Na przykład kwasem siarkowym jest H2SO4, a kwasem chlorowodorowym jest HCl. W przypadku tych dwóch prawdopodobnie użyłbym wzoru atomowego, ponieważ są one dość …

1
Złożoność obliczeniowa korelacji w czasie a mnożenie w przestrzeni częstotliwości
Pracuję z korelacją 2d dla technik przetwarzania obrazu (rozpoznawanie wzorów itp.). Zastanawiałem się, czy istnieje teoretyczne podejście do tego, jak powiedzieć, kiedy stosować mnożenie w przestrzeni częstotliwości zamiast korelacji w przestrzeni czasu. Dla rozmiarów 2 x częstotliwość jest oczywiście szybsza, ale co powiesz na małe, podstawowe rozmiary, takie jak np. …

5
Ile nadmiarowości / niezawodności powinno wdrożyć złożone oprogramowanie?
Głównym celem tego pytania: niektóre programy wykonują „dodatkową pracę” w celu zwiększenia szansy na „ostatecznie pomyślny / zadowalający” wynik, pomimo jednego lub więcej wewnętrznych błędów w oprogramowaniu, co wymaga dłuższego czasu wykonania, gdy te błędy wystąpią. Wszystko to dzieje się bez wiedzy użytkownika, jeśli wynik byłby udany. Definicja złożonego oprogramowania: …

3
Jak zmierzyć złożoność w praktyce w dużym projekcie oprogramowania?
Na uniwersytecie, na naszych kursach z algorytmów, uczymy się, jak precyzyjnie obliczać złożoność różnych prostych algorytmów wykorzystywanych w praktyce, takich jak tabele skrótów lub szybkie sortowanie. Ale teraz w dużym projekcie oprogramowania, gdy chcemy przyspieszyć, wystarczy spojrzeć na poszczególne elementy - kilka zagnieżdżonych pętli, które można zastąpić szybszą tabelą skrótów, …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.