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.
Obecnie pracuję nad algorytmem do implementacji kroczącego filtru mediany (analogicznego do kroczącego filtru średniej) w C. Z moich poszukiwań w literaturze wynika, że istnieją dwa racjonalnie efektywne sposoby na zrobienie tego. Pierwszym jest posortowanie początkowego okna wartości, a następnie wykonanie wyszukiwania binarnego w celu wstawienia nowej wartości i usunięcia istniejącej …
Kilka miesięcy temu znalazłem fragment kodu, który przygotowywałem do rozmowy kwalifikacyjnej. Zgodnie z komentarzem, który miałem, próbował rozwiązać ten problem: Biorąc pod uwagę wartość dolara w centach (np. 200 = 2 dolary, 1000 = 10 dolarów), znajdź wszystkie kombinacje monet, które składają się na wartość dolara. Dozwolone są tylko grosze …
Jak przejść z tego ciągu: „ThisIsMyCapsDelimitedString” ... do tego ciągu: „To jest ciąg rozdzielany dużymi literami” Preferowana jest najmniejsza liczba wierszy kodu w VB.net, ale mile widziany jest również język C #. Twoje zdrowie!
Wydaje się, że powszechnie wiadomo, że tablice skrótów mogą osiągnąć O (1), ale to nigdy nie miało dla mnie sensu. Czy ktoś może to wyjaśnić? Oto dwie sytuacje, które przychodzą na myśl: A. Wartość jest liczbą int mniejszą niż rozmiar tabeli skrótów. Dlatego wartość jest własnym hashem, więc nie ma …
Minęło trochę czasu od tych lat szkolnych. Dostałem pracę jako informatyk w szpitalu. Próbuję teraz przejść do faktycznego programowania. Pracuję teraz nad drzewami binarnymi i zastanawiałem się, jaki byłby najlepszy sposób określenia, czy drzewo jest zrównoważone pod względem wysokości. Myślałem o czymś w związku z tym: public boolean isBalanced(Node root){ …
Mam n elementów. Dla przykładu, powiedzmy 7 elementów 1234567. Wiem, że jest ich 7! = 5040 możliwych permutacji tych 7 elementów. Chcę mieć szybki algorytm składający się z dwóch funkcji: f (liczba) odwzorowuje liczbę od 0 do 5039 na unikalną permutację, a f '(permutacja) odwzorowuje permutację z powrotem na liczbę, …
Próbuję zrozumieć, dlaczego algorytm Dijkstry nie będzie działał z ujemnymi wagami. Czytając przykład na Shortest Paths , próbuję rozgryźć następujący scenariusz: 2 A-------B \ / 3 \ / -2 \ / C Ze strony internetowej: Zakładając, że wszystkie krawędzie są skierowane od lewej do prawej, jeśli zaczniemy od A, algorytm …
Muszę znaleźć k-ty najmniejszy element w drzewie wyszukiwania binarnego bez użycia zmiennej statycznej / globalnej. Jak to skutecznie osiągnąć? Rozwiązaniem, które mam na myśli, jest wykonanie operacji w O (n), najgorszym przypadku, ponieważ planuję wykonać wewnętrzne przejście całego drzewa. Ale w głębi duszy czuję, że nie używam tutaj właściwości BST. …
John Carmack ma specjalną funkcję w kodzie źródłowym Quake III, która oblicza odwrotny pierwiastek kwadratowy z liczby zmiennoprzecinkowej, 4x szybciej niż normalnie (float)(1.0/sqrt(x)), włączając dziwną 0x5f3759dfstałą. Zobacz poniższy kod. Czy ktoś może wyjaśnić wiersz po wierszu, co dokładnie się tutaj dzieje i dlaczego działa to znacznie szybciej niż zwykłe wdrożenie? …
На этот вопрос есть ответы на Stack Overflow на русском : Декартово произведение нескольких массивов Jak zaimplementowałbyś iloczyn kartezjański wielu tablic w JavaScript? Jako przykład, cartesian([1, 2], [10, 20], [100, 200, 300]) powinien wrócić [ [1, 10, 100], [1, 10, 200], [1, 10, 300], [2, 10, 100], [2, 10, 200] …
Czy jakiś standardowy moduł Pythona zawiera funkcję obliczającą modularną multiplikatywną odwrotność liczby, tj. y = invmod(x, p)Taką, która x*y == 1 (mod p)? Wydaje się, że Google nie daje żadnych dobrych wskazówek na ten temat. Oczywiście, można wymyślić w domu 10-liniowy rozszerzony algorytm euklidesowy , ale po co wymyślać koło …
Jaki jest dobry algorytm obliczania liczby klatek na sekundę w grze? Chcę pokazać to jako liczbę w rogu ekranu. Jeśli spojrzę tylko na to, ile czasu zajęło renderowanie ostatniej klatki, liczba zmienia się zbyt szybko. Dodatkowe punkty, jeśli twoja odpowiedź aktualizuje każdą klatkę i nie zbiegają się inaczej, gdy liczba …
Jednym z głównych przykładów wykorzystywanych do zademonstrowania możliwości MapReduce jest test porównawczy Terasort . Mam problem ze zrozumieniem podstaw algorytmu sortowania używanego w środowisku MapReduce. Dla mnie sortowanie polega po prostu na określeniu względnego położenia elementu w stosunku do wszystkich innych elementów. Tak więc sortowanie polega na porównywaniu „wszystkiego” ze …
Oba mogą być użyte do znalezienia najkrótszej ścieżki z jednego źródła. BFS wbiega O(E+V), a Dijkstra wbiega O((V+E)*log(V)). Poza tym widziałem, że Dijkstra używał bardzo podobnie jak w protokołach routingu. Zatem po co używać algorytmu Dijkstry, skoro BFS może zrobić to samo szybciej?
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.