鍊錶 Insertion Sort List

2022-10-10 23:12:16 字數 731 閱讀 8267

題目:

sort a linked list using insertion sort.

思路:

插入排序是一種o(n^2)複雜度的演算法,基本想法相信大家都比較了解,就是每次迴圈找到乙個元素在當前排好的結果中相對應的位置,然後插進去,經過n次迭代之後就得到排好序的結果了。了解了思路之後就是鍊錶的基本操作了,搜尋並進行相應的插入。時間複雜度是排序演算法的o(n^2),空間複雜度是o(1)。

/*

* * definition for singly-linked list.

* function listnode(val) */

/*** @param head

* @return */

var insertionsortlist = function

(head)

var temphead=new listnode(0),p=head,tp=null

;

while(p!=null

)

var tempnode1=tp.next;

var tempnode2=p.next;

tp.next=p;

p.next=tempnode1;

p=tempnode2;

}return

temphead.next;

};

插入排序 InsertionSort

插入排序insertionsort,引數是乙個陣列包含了n個待排序的數,輸入的各個數字是原地排序的 sorted in place 意即這些數字就是在陣列a中進行重新排序的,在任何時刻,至多只有其中的常數個數字是儲存在陣列之外的,當過程insertionsort執行完畢後,輸入陣列a中就包含了已排好...

插入排序 insertion sort

insertion sort 插入排序 適用於小規模的資料排序 時間複雜度 n 2 整體思路與玩牌是對手中撲克的排序方法類似 演算法描述 從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素 已排序 大於新元素,將該元素移到下一位置 重複步驟3,...

插入排序 Insertion sort

是一種簡單的排序方法。時間複雜度為o n 2 即n的平方。在資料量較小的情況下,是比較有效的排序方式。輸入 n個數 a1,a2,a3.an 輸出 輸入序列的乙個排序 要求 a 1 a 2 a n 思想 把序列分為2部分 已排序,未排序。每次從未排序中取乙個數,與已排序中的值比較,插入到合適的位置。p...