Czytając o różnych algorytmach sortowania, zauważyłem, że niektóre są „stabilne”, a inne nie. Co to oznacza i jakie kompromisy wiążą się na tej podstawie przy wyborze
Odpowiedzi na pytania dotyczące algorytmów sortowania oraz ich szybkości i złożoności.
Czytając o różnych algorytmach sortowania, zauważyłem, że niektóre są „stabilne”, a inne nie. Co to oznacza i jakie kompromisy wiążą się na tej podstawie przy wyborze
Szukam sugestii pseudokodu do sortowania plików mp3 w sposób, który pozwoli uniknąć powtarzania tytułów i wykonawców . Słucham śpiewaków - Franka Sinatry, Tony'ego Bennetta, Elli Fitzgerald itp. Śpiewających stare standardy. Każdy artysta nagrywa wiele takich samych piosenek - Fly Me To The Moon,...
Jest stabilny i ma złożoność czasową O (n). Powinno być szybsze niż algorytmy takie jak Quicksort i Mergesort, ale rzadko kiedy go
Zauważyłem, że wiele metod sortowania numerycznego wydaje się sortować według 1, 10, 2, 3 ... zamiast oczekiwanych 1, 2, 3, 10 ... Mam problem z wymyśleniem scenariusza, w którym potrzebuję pierwszej metody, a jako użytkownik czuję się sfrustrowany za każdym razem, gdy widzę ją w praktyce. Czy...
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to...
Zawsze słyszałem, że wyszukiwanie liniowe jest naiwnym podejściem, a wyszukiwanie binarne jest lepsze niż pod względem wydajności ze względu na lepszą asymptotyczną złożoność. Ale nigdy nie zrozumiałem, dlaczego jest lepsze niż wyszukiwanie liniowe, gdy przed wyszukiwaniem binarnym wymagane jest...
Próbuję zrozumieć, jak prawidłowo przechowywać zamówione informacje w relacyjnej bazie danych. Przykład: Powiedz, że mam listę odtwarzania, na którą składają się utwory. W mojej relacyjnej bazie danych mam tabelę Playlistszawierającą niektóre metadane (nazwa, twórca itp.). Mam też tabelę o nazwie...
Zastanawiam się tylko, dlaczego Javai .NET Frameworkużywa domyślnie innego algorytmu sortowania. W Javie domyślnie Array.Sort()korzysta z algorytmu scalania sortowania i jak mówi Wikipedia.com : W Javie metody Arrays.sort () używają sortowania scalonego lub dostrajanego szybkiego sortowania w...
Nie rozumiem, dlaczego heapsort jest uważany za algorytm sortowania w miejscu . Mam na myśli dodatkową strukturę danych zapełnioną elementami tablicy do sortowania, tj. Stertę, która jest używana do pomocy w wydobyciu wartości minimalnej i procesie sortowania. Może więc nie rozumiem tutaj...
Analizowałem szybkie sortowanie w książce Algorytmy Sedgewicka. Tworzy następującą relację powtarzalności dla liczby porównań w szybkim sortowaniu podczas sortowania tablicy N różnych elementów. Trudno mi to zrozumieć ... Wiem, że potrzeba 1 / N prawdopodobieństwa, aby każdy element stał się...
Szukam algorytmów sortowania, które mogą działać na dużej ilości danych, tj. Mogą działać nawet wtedy, gdy cały zestaw danych nie może być jednocześnie przechowywany w pamięci głównej. Jedynym kandydatem, którego do tej pory znalazłem, jest sortowanie według scalania: możesz zaimplementować...
java.util.Arrays.sort(/* int[], char[], short[], byte[], boolean[] */) jest zaimplementowany jako „zestrojony szybki sortowanie” zamiast sortowania radix. Jakiś czas temu porównałem prędkość i przy czymś takim jak n> 10000 sortowanie radix było zawsze szybsze.
IComparable działa tylko w jedną stronę Powiedzmy, że masz Employeeklasę. W jednym widoku chcesz pokazać wszystkie Employeesposortowane według nazwy - w innym według adresu. Jak zamierzasz to osiągnąć? Nie z IComparable, przynajmniej nie w idiomatyczny sposób. IComparable ma logikę w niewłaściwym...
Mam listę studentów, którą powinienem wyświetlić użytkownikowi na stronie internetowej w formacie tabelarycznym. Elementy są przechowywane w DB wraz z informacjami SortOrder. Na stronie internetowej użytkownik może zmienić kolejność na liście, przeciągając i upuszczając elementy do pożądanej...
Zamiast programowania w taki sposób, w jaki to robimy, dlaczego nie opracowujemy specyfikacji typowych zadań, takich jak „sortowanie”, a następnie nie pozwalamy środowisku skompilować go, aby jak najlepiej wykorzystać jego sprzęt? W ten sposób moglibyśmy wysłać komputer z nowym specjalistycznym...
Buduję komparator, który umożliwia sortowanie wielu kolumn na ograniczonym łańcuchu. Obecnie używam metody split z klasy String jako preferowanego sposobu dzielenia surowego ciągu na tokeny. Czy to jest najlepszy sposób na konwersję surowego ciągu znaków na tablicę ciągu znaków? Będę sortować...
Uczę się o Quicksort i chcę zilustrować różne tablice, na których Quicksort miałoby trudności. Quicksort, o którym myślę, nie ma początkowego losowego tasowania, dzieli 2 partycje i nie oblicza mediany. Do tej pory wymyśliłem trzy przykłady: [1,2,3,4,5,6,7,8,9,10] - when the array is...
Celem tego pytania nie jest dyskusja na temat zalet tego algorytmu w stosunku do jakiegokolwiek innego algorytmu sortowania - z pewnością jest wiele innych pytań, które to robią. To pytanie dotyczy nazwy. Dlaczego Quicksort nazywa się „Quicksort”? Jasne, przez większość czasu jest „szybki”, ale nie...
Zwłaszcza gdy piszesz aplikacje „standardowe” (inne niż HPC), czy zastanawiasz się, jaki algorytm sortowania wybrać, czy po prostu decydujesz się na szybkie sortowanie (które większość bibliotek po prostu nazywa sortowaniem)? Do pewnego stopnia może być opłacalne w określonych sytuacjach, ale z...