0
在一次採訪中,我被要求以這樣一種方式爲鏈接列表編寫插入函數,插入後,朝向插入元素頭部的元素應該更大,尾部與插入元素相比應該更小。鏈接列表中高效的「插入」功能
我實現了我的代碼如下步驟:
- 最初以降序排列的鏈表。
- 獲取元素。
- 以這種方式插入元素,即使插入後鏈接列表也會以降序排列。
但我被告知我的方式效率不高。
請讓我知道是否有有效的方法來實現相同。
在一次採訪中,我被要求以這樣一種方式爲鏈接列表編寫插入函數,插入後,朝向插入元素頭部的元素應該更大,尾部與插入元素相比應該更小。鏈接列表中高效的「插入」功能
我實現了我的代碼如下步驟:
但我被告知我的方式效率不高。
請讓我知道是否有有效的方法來實現相同。
排序是O(n log n)
操作。如果你仔細閱讀這個問題,他們從不說清單應該排序,所以不要進行排序操作。你應該做的是從一個只有你的元素的新列表開始,然後對於原始列表中的每個元素,將它附加到前面(如果大於新元素)或否則在後面。
是的。大多數你是對的..謝謝你.. :) –
我*想*他們希望你假設鏈接已經被初始排序,並且你的插入應該保持這種類型。 (我會在面試中問這是否確實是意圖)。在這種情況下,不需要排序 - 只需迭代,直到找到插入位置並插入爲止。 – amit
@amit:不,鏈接在開始時沒有排序。 –
對我而言,@ amit的解釋是唯一有意義的解釋。我還要求面試官澄清。 – NPE