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 algorytmu?
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, The Way You Look Tonight, Stardust itp. …
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 istnieją uzasadnione przypadki …
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 pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
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 Songs, zawierającą playlist_id, a także informacje dotyczące utworu (imię, wykonawca, …
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 sortowanie? Wyszukiwanie liniowe jest, O(n)a wyszukiwanie binarne O(log n). To wydaje …
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 zależności od typów danych oraz do przełączania wydajności implementacji na sortowanie wstawiania, gdy …
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 definicji miejsca na miejscu? Ale na przykład rodzaj …
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ę osią obrotu i że jeśli k stanie się osią obrotu, …
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. dlaczego?
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ć algorytm w taki sposób, że skanuje on zestaw danych przy …
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 miejscu Interfejs jest używany przez wywołanie .Sort(). W widoku …
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 sorted [10,9,8,7,6,5,4,3,2,1] - when the array is reversed …
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ć miliony wierszy, więc myślę, że podejście ma znaczenie. Wydaje …
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.