Algorytm jest sekwencją dobrze zdefiniowanych kroków, które definiują abstrakcyjne rozwiązanie problemu. Użyj tego tagu, gdy Twój problem dotyczy projektu algorytmu.
Załóżmy, że chcesz zaimplementować rekurencyjne przeszukiwanie wszerz drzewa binarnego . Jak byś się do tego zabrał? Czy jest możliwe używanie tylko stosu wywołań jako pamięci dyskowej?
Jestem twórcą gier internetowych i mam problem z przypadkowymi liczbami. Powiedzmy, że gracz ma 20% szans na trafienie krytyczne mieczem. Oznacza to, że 1 na 5 trafień powinno być krytyczne. Problem polega na tym, że otrzymałem bardzo złe wyniki w życiu - czasami gracze otrzymują 3 trafienia krytyczne w 5 …
Czy ktoś z was kiedykolwiek wdrożył stertę Fibonacciego ? Zrobiłem to kilka lat temu, ale było to o kilka rzędów wielkości wolniejsze niż użycie BinHeaps opartego na tablicy. Wtedy pomyślałem o tym jako o wartościowej lekcji pokazującej, że badania nie zawsze są tak dobre, jak się twierdzą. Jednak wiele prac …
Potrzebuję ruchomego okna (znanego również jako przesuwne okno), które można iterować po sekwencji / iteratorze / generatorze. Domyślną iterację Pythona można uznać za przypadek specjalny, w którym długość okna wynosi 1. Obecnie używam następującego kodu. Czy ktoś ma bardziej Pythonic, mniej rozwlekłą lub bardziej wydajną metodę robienia tego? def rolling_window(seq, …
Wyobraź sobie, że jesteś w wysokim budynku z kotem. Kot może przetrwać upadek z okna na niskim piętrze, ale zginie, jeśli zostanie wyrzucony z wysokiego piętra. Jak obliczyć najdłuższy spadek, jaki kot może przeżyć, przy jak najmniejszej liczbie prób? Oczywiście, jeśli masz tylko jednego kota, możesz wyszukiwać tylko liniowo. Najpierw …
Mam scenariusz, w którym użytkownik chce zastosować kilka filtrów do obiektu Pandas DataFrame lub Series. Zasadniczo chcę wydajnie łączyć kilka operacji filtrowania (operacji porównania), które są określane w czasie wykonywania przez użytkownika. Filtry powinny być addytywne (każdy zastosowany powinien zawęzić wyniki). Obecnie używam, reindex()ale za każdym razem tworzy to nowy …
Chcę obliczyć średnią zbioru danych cyklicznych. Na przykład mogę mieć kilka próbek z odczytu kompasu. Problem polega oczywiście na tym, jak radzić sobie z zawijaniem. Ten sam algorytm może być przydatny dla tarczy zegara. Rzeczywiste pytanie jest bardziej skomplikowane - co oznaczają statystyki na kuli lub w przestrzeni algebraicznej, która …
Na przykład mam listy: a[0] = [1, 1, 1, 0, 0] a[1] = [1, 1, 0, 0, 1] a[2] = [0, 1, 1, 1, 0] # and so on Wydają się być różne, ale jeśli przypuszcza się, że początek i koniec są połączone, to są kołowo identyczne. Problem w tym, …
Czy istnieje pythonowy sposób sprawdzenia, czy lista jest już posortowana w ASClubDESC listtimestamps = [1, 2, 3, 5, 6, 7] coś takiego isttimestamps.isSorted()wraca Truelub False. Chcę wprowadzić listę znaczników czasu dla niektórych wiadomości i sprawdzić, czy transakcje pojawiły się we właściwej kolejności.
Wprowadzamy C ++ 0x, unordered_setktóry jest dostępny w boostwielu innych miejscach. Rozumiem, że unordered_setjest to tabela skrótów ze O(1)złożonością wyszukiwania. Z drugiej strony setto nic innego jak drzewo o log(n)złożoności wyszukiwania. Dlaczego, u licha, ktoś miałby używać setzamiast unordered_set? tj. czy jest już taka potrzeba set?
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ś wspólnego z szeregiem logarytmicznym?
Jaka technologia działa za ekranami technologii rekomendacji Amazon? Uważam, że rekomendacja Amazon jest obecnie najlepsza na rynku, ale jak dostarczają nam tak trafnych rekomendacji? Niedawno byliśmy zaangażowani w podobny projekt rekomendacji, ale z pewnością chcielibyśmy wiedzieć, jak wygląda technologia rekomendacji Amazon z technicznego punktu widzenia. Wszelkie wkłady będą bardzo mile …
Szukam algorytmu do wykrywania, czy przecinają się dwa prostokąty (jeden pod dowolnym kątem, drugi tylko z liniami pionowymi / poziomymi). Testowanie, czy róg jednego jest w drugim PRAWIE działa. Nie powiedzie się, jeśli prostokąty utworzą kształt podobny do krzyża. Wydaje się, że dobrym pomysłem jest unikanie nachyleń linii, co wymagałoby …
Mam posortowaną tablicę JavaScript i chcę wstawić jeszcze jeden element do tablicy, tak aby wynikowa tablica pozostała posortowana. Z pewnością mógłbym zaimplementować prostą funkcję wstawiania w stylu quicksort: var array = [1,2,3,4,5,6,7,8,9]; var element = 3.5; function insert(element, array) { array.splice(locationOf(element, array) + 1, 0, element); return array; } function …
Podobne pytanie zostało tam zadane wcześniej , ale tutaj jest odwrotnie, używając dwóch kolejek jako stosu. Pytanie... Biorąc pod uwagę dwie kolejki z ich standardowych operacji ( enqueue, dequeue, isempty, size), zaimplementować stos z jego standardowych operacji ( pop, push, isempty, size). Powinny istnieć dwie wersje rozwiązania. Wersja A : …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.