日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
為什么數(shù)組的下標(biāo)從 0 開始?

本文轉(zhuǎn)載自微信公眾號「微觀技術(shù)」,作者Tom哥  。轉(zhuǎn)載本文請聯(lián)系微觀技術(shù)公眾號。

目前創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計、肅北網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

首先,我們來復(fù)習(xí)下數(shù)組的定義

數(shù)組是一組連續(xù)內(nèi)存空間存儲的具有相同類型的數(shù)據(jù),整個排列像一條線一樣,是一種線性表數(shù)據(jù)結(jié)構(gòu)。

那么,問題來了,數(shù)組的下標(biāo)為什么要從 0 開始?從 1 開始行不行?

端好你的小茶杯,開始進(jìn)入正題

數(shù)組之所以廣泛使用,是因為它支持隨機(jī)訪問。

什么叫隨機(jī)訪問?

數(shù)據(jù)在內(nèi)存中都是按順序存放的,通過下標(biāo)直接觸達(dá)到某一個元素存放的位置。

公式:

  • Tom哥[n] = base_address + n * data_size
    • base_address,表示數(shù)組的首地址
    • n,表示偏移量
    • data_size,表示數(shù)組類型的字節(jié)數(shù)
 
 
 
 
  1. ① 讀取上面數(shù)組的 【0】位置的 `微` 
  2. ② 讀取上面數(shù)組的 【9999】位置的 `注` 
  3.  
  4. 由于基于計算的內(nèi)存地址讀取數(shù)據(jù),上面兩種情況的耗費的時間是一樣,時間復(fù)雜度為 O(1) 

注意:想要使用隨機(jī)訪問,一定要滿足兩個條件: 1、連續(xù)的內(nèi)存空間 2、相同類型的數(shù)據(jù)

知識補(bǔ)充:

與隨機(jī)訪問對應(yīng)的是順序訪問

順序訪問:鏈表在內(nèi)存中不是按順序存放的,而是通過指針連在一起,訪問某一元素,必須從鏈頭開始順著指針才能找到某一個元素。

突然,一個奇怪的念頭冒了出來,假如我們將數(shù)組的首個下標(biāo)從 1 開始 ,會怎么樣?

我們讀取 下標(biāo)為n 的數(shù)據(jù)

公式:

  • Tom哥[n] = base_address + (n-1) * data_size

與上面的公式的區(qū)別,多了一次 n-1 操作

雖然也能讀取數(shù)組中的值,但是多了一次減法的指令運(yùn)算。

數(shù)組是一個最基礎(chǔ)、最簡單的數(shù)據(jù)結(jié)構(gòu)。要知道我們的上層API內(nèi)部很多都會依賴于數(shù)組,而互聯(lián)網(wǎng)應(yīng)用又講究一個高并發(fā),一言不合就是千萬級QPS,如此高頻的訪問量,這個冗余的減運(yùn)算 就會放大無數(shù)倍,產(chǎn)生巨大的性能損耗。

這樣說,可能大家感受不一定明顯!!!

”我在馬路邊撿到一分錢,把它交到警察叔叔手里邊“。現(xiàn)在再有一分錢,你還會撿嗎,估計很多人都看不上眼,但要是全國人民每人給你一分錢呢

14億 * 1分錢 = 1400萬 人民幣

是不是可以立馬辭職,回家躺平了!

量變引發(fā)質(zhì)變,做軟件開發(fā),我們一定要考慮將性能優(yōu)化到極致,骨子里透著工匠精神。


網(wǎng)站標(biāo)題:為什么數(shù)組的下標(biāo)從 0 開始?
本文地址:http://m.5511xx.com/article/dppoghs.html