順序線性表與鏈表的優缺點對比

     細心的朋友會發現,JDK中提供的List接口對應的是數據結構中的線性表,List接口下的ArrayList對應的是順序線性表,顧名思義,其底層使用數組實現順序線性表;List接口下的LinkedList則是鏈表的實現。 數組

     這兩種數據結構的各有所長,根據程序的實際用途,選擇適當的數據結構,無異是根本上的優化。 數據結構

    順序存儲結構    : 優化

         優勢:    ①隨機存取時間複雜度爲O(1)    ②無需爲表中元素之間的邏輯關係額外增長存儲空間 接口

         缺點:    ①插入、刪除操做須要移動大量的元素,時間複雜度爲O(n) 效率

                      ②表的長度難以肯定 List

    鏈式存儲結構: 遍歷

        優勢:     插入、刪除節點時不移動數據,  效率高,時間複雜度爲O(1) 程序

        缺點:    存取時要遍歷,效率低,時間複雜度爲O(n) 鏈表

    所以,綜上所訴,順序存儲結構適合頻繁存取、查找,不多插入、刪除的狀況;鏈式存儲適合頻繁插入、刪除,不多存取的狀況;     數據

相關文章
相關標籤/搜索