2016-02-18 71 views
-2

我必須選擇插入算法什麼是關於插入

1.before插入數據的最佳選擇,我們必須由二進制search.After讓那個地方尋找合適的地方 算法的最佳方式,我們通過將右側索引(在想要的位置之後)踢到下一個 右側的單元格來插入它。然後,我們可以將我的數據插入到適當的位置。

2.將數據輸入到該數組的最後一位,並按合併排序進行排序。

我能猜到首選需要時間O(LOGN)(二進制搜索)和O(n)的搜索合適的地方。我可以得出結論:這一切都需要時間O(logn)+ O(n)

,第二個是O(nlogn)(歸併排序),並O(1)(把數據在最後的地方)。再次,我可以得出結論,這一切都需要時間完全O(nlogn)+ O(1)


如果陣列的給定大小是

一個。)30

灣)2000000

哪些算法適合於每個大小?

+0

添加大O符號元素時,可以簡單地丟棄較小的元素。 * O(logn)+ O(n)*與* O(n)*相同,* O(nlogn)+ O(1)*與* O(nlogn)*相同。一旦* n *變得足夠大,相比之下,較小的條款變得不重要。 –

回答

0

如果您已經排序了列表,插入新的元素一一列出對我來說更有意義。如果你有一個數組,你可以使用 。這讓人感覺到另一種方法。