PHP的array是真正的數組嗎,該如何處理

來源:互聯網
上載者:User
PHP的array是真正的數組嗎
我看PHP文法中,數組的下標除了是數字外同樣可以有類似雜湊的key。那麼PHP中的數組對象是不是不是真正的資料結構中的ARRAY。同時,但我設定了KEY時是不是就是可以當作HASH去使用,讀取的時間複雜度是不是O(1)的?

------解決方案--------------------
在PHP中, 數組是用一種HASH結構(HashTable)來實現的, PHP使用了一些機制, 使得可以在O(1)的時間複雜度下實現數組的增刪, 並同時支援線性遍曆和隨機訪問.
------解決方案--------------------
探討

不是,他是一個鏈表

------解決方案--------------------
PHP的數組Array是列表List,散列表/關聯陣列/字典Hashtable的彙總體。
既然array具有hashtable的性質 那麼通過key值讀取,他的時間複雜度當然是O(1)的!
------解決方案--------------------
如果不是鏈表,那你如何解釋一下函數
reset、prev、next、end

又,一般說 hash 表的時間複雜度是O(1)
這是理論上的,它假定鍵足夠長
但實際應用時,鍵衝突是必然存在的。 hash 表在出現鍵衝突時採用順序表來彌補
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.