Java 6'nın Arrays.sortyöntemi, ilkel diziler için Quicksort kullanır ve nesne dizileri için birleştirme sıralaması kullanır. Quicksort'un çoğu zaman birleşik sıralamadan daha hızlı olduğuna ve daha az belleğe mal olduğuna inanıyorum. Her iki algoritma da O (n log (n)) olmasına rağmen deneylerim bunu destekliyor. Öyleyse neden farklı türler için farklı algoritmalar …
Quicksort'u uygularken, yapmanız gereken şeylerden biri bir pivot seçmektir. Ancak aşağıdaki gibi sözde kodlara baktığımda, pivotu nasıl seçmem gerektiği net değil. Listenin ilk öğesi? Başka bir şey? function quicksort(array) var list less, greater if length(array) ≤ 1 return array select and remove a pivot value pivot from array for each …
Python'da tamamen yeniyim ve içinde hızlı sıralama uygulamaya çalışıyorum. Birisi lütfen kodumu tamamlamama yardım edebilir mi? Üç diziyi nasıl birleştirip yazdıracağımı bilmiyorum. def sort(array=[12,4,5,6,7,3,1,15]): less = [] equal = [] greater = [] if len(array) > 1: pivot = array[0] for x in array: if x < pivot: less.append(x) if …