---
兩個升序鏈表合並為降序鏈表
原文:https://blog.csdn.net/calculate23/article/details/97490628
---注意算法中單次比較中大的一方下標不變,以此實現兩兩比較---
看了原文解釋后個人理解如下,問題的求解無非兩步:
求時間復雜度的步驟:
-
考慮最壞情況下的執行次數,例如
l1: 1 3 5 7 9 (m=5)
l2: 2 4 6 (n=3)
數字穿插在兩個鏈表中,需要比較m+n-1次
(第一次:1和2比,1按頭插法插入鏈表l3,繼續;
第二次:2和3比,2插入l3,以此類推...
當鏈表l2走完后l1中剩余的7,9直接插入l3)
-
根據此執行次數得到對應的時間復雜度
注意:時間復雜度不等於具體的執行步數,其作用是用來反映執行時間的數量級
所以由加法規則可知:
O(m+n-1)=O(max(m,n))