數(shù)據(jù)結(jié)構(gòu)全解析之?dāng)?shù)組內(nèi)存及數(shù)組面試常問算法全面解析

本章將以 Java 語言為列,深入淺出介紹數(shù)組。

此部分主要介紹所有編程語言中基本都會(huì)涉及到的數(shù)據(jù)結(jié)構(gòu):數(shù)組。數(shù)組相信大家都會(huì)使用,但是當(dāng)面試過程中聞到涉及到內(nèi)存分析、數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的算法時(shí),總會(huì)有讓你猝不及防的地方,比如數(shù)組的內(nèi)存模型分析?本章主要以 Java 語言為列,以阿里巴巴的面試題為主,圍繞以下話題深入淺出進(jìn)行講解:

1. 數(shù)組結(jié)構(gòu)

首先,什么是數(shù)組?數(shù)組好比一個(gè)“儲(chǔ)物空間”,可以有順序的儲(chǔ)存同種類型的“物品”。您可以設(shè)定它的大小,也可以設(shè)定它存儲(chǔ)“物品”的類型。

數(shù)組有一維數(shù)組,二維數(shù)組。實(shí)際上數(shù)組有點(diǎn)類似于我們數(shù)學(xué)中的矩陣。

如圖:

image

圖中有兩個(gè)數(shù)組,數(shù)組 1 和數(shù)組 2。數(shù)組的下標(biāo)從 0 開始,我們可以通過下標(biāo)來獲取數(shù)組中存儲(chǔ)的元素。例如通過 TCoolNum1[0],可以獲取 111,通過 TCoolNum2[2]得到字符串“cool”。

num1 存儲(chǔ)的即為類型為整數(shù)的“物品”,其長(zhǎng)度為 10,數(shù)組 2 存儲(chǔ)的類型為字符串的“物品”,數(shù)組的長(zhǎng)度為 7,雖然該數(shù)組只存儲(chǔ)了 3 個(gè)字符串,但是該數(shù)組在聲明的時(shí)候申請(qǐng)長(zhǎng)度為 7 的內(nèi)存空間,盡管沒有全部存儲(chǔ),但是占用的內(nèi)存空間并不改變。

還有 91% 的精彩內(nèi)容
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
支付 ¥2.99 繼續(xù)閱讀

友情鏈接更多精彩內(nèi)容