希爾排序(Shell Sort)演算法,改良的插入排序法 2019 年 4 月 5 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 希爾排序(Shell Sort)演算法是插入排序(Insertion Sort)演算法的改良版。它解決了插入排序法一次只能把元素移動一個索引距離的問題,加入間距(gap)的概念來分批並分組完成插入排序法,有效提升原本插入排序法的速度。 繼續閱讀
插入排序(Insertion Sort)演算法,一邊將元素加進序列、一邊進行排序的演算法 2019 年 4 月 5 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 插入排序(Insertion Sort)演算法,是基本的排序演算法,是學習程式語言最先需要學會的排序演算法之一。插入排序法的用途廣泛,除了可以用來將新元素添加到已存在且已排序好的序列並維持其排序外,還可以用來排序尚未排序的序列。而且其排序結果是穩定的。 繼續閱讀
MagicSort─支援非同步排序與計算排序進度的Java排序函式庫 2014 年 4 月 5 日 Magic Len Java Java內建的排序方法無法在非同步執行緒下進行工作,因為沒有Callback的機制,如果將排序工作丟給另外一個執行緒執行的話,會不知道排序程式究竟何時會跑完。寫程式的時候,有時必須排序龐大的資料,如果未將排序單獨丟給另一個執行緒的話,會造成程式停頓,又因Java內建的排序方法,會使用到遞迴,在資料量大的時候,會用到很多Stack(堆疊)空間,有可能會導致Stack Overflow。所以為了解決J... 繼續閱讀