亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

什么是packed array,什么是hash array,區別是什么?

什么是packed array,什么是hash array,區別是什么?

正在回答

1 回答

可以這么簡單的理解:

1、對于key是數字的,就不用涉及到hash運算,此時使用的是packed array; 當然如果key的值較大,或者間隔較大,還是會退化成hash array。? packed array 能夠節省索引部分占用的內存,是一個性能上的優化;

2、對于key是非數字的,必須用hash算法進行計算出來它所在bucket的位置,那么索引數組是必不可少的,只能是hash array。

這是底層的實現,對于我們寫php代碼,需要關注的點是對于業務中的大數組,有沒有可能設計一些算法,讓它滿足packed array的性質,這樣可以節省內存; 另外一方面就是要關注在大數組的情況下,可能會發聲packed array向 hash array的轉變,這個耗時還是較大的,需要盡量避免這種情況。? 當然這兩種情況都是針對“大”數組,小數組的情況下,其實差距沒那么大。

4 回復 有任何疑惑可以回復我~
#1

慕斯卡0281576

所以如果間隔不大一步步升上去就不會變成hash array是嗎
2021-06-11 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

什么是packed array,什么是hash array,區別是什么?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號