java資料結構學習之陣列

weixin_38915596發表於2018-06-23

                                                           陣列學習

 java中陣列被當作 物件 來對待

 陣列在計算機實體記憶體中是一組 連續 的記憶體地址, 陣列被初始化的時候 大小固定, 陣列擴容實際是重新建立一個更大的陣列,將原來的資料複製到新陣列中, 所以使用陣列時最好預定義陣列的大小

 陣列的效率問題:

           無序陣列的插入時間效率為O(1), 查詢的效率為O(n), 

           有序陣列的插入和查詢的效率為O(logN), 

 關於順序表 線性表 陣列的區別 來源於https://blog.csdn.net/foreverhuylee/article/details/37813053

  1. 陣列就是相同資料型別的元素按一定順序排列的集合。

    一句話:就是物理上儲存在一組聯絡的地址上。也稱為資料結構中的物理結構。

  2. 線性表中資料元素之間的關係是一對一的關係,即除了第一個和最後一個資料元素之外,其它資料元素都是首尾相接的。

    一句話:線性表是資料結構中的邏輯結構。可以儲存在陣列上,也可以儲存在連結串列上。

  3.  線性表的結點按邏輯次序依次存放在一組地址連續的儲存單元裡的方法。用順序儲存方法儲存的線性表簡稱為順序表。

    一句話:用陣列來儲存的線性表就是順序表。

    總結:你被這幾個概念混淆,是因為你沒搞懂資料結構裡的邏輯結構和物理儲存結構。


    



相關文章