課前復(fù)習(xí):
二分查找 時間復(fù)雜度(O(N))
空間復(fù)雜度:范圍大的長度
復(fù)雜度:粗略衡量算法好壞的刻度尺(工具)
兩個維度:快慢 時間復(fù)雜度(重點)
使用空間的情況 空間復(fù)雜度
時間復(fù)雜度:直接利用允許時間衡量不現(xiàn)實,測試環(huán)境多變,不好控制變量
前提:如果指定cpu的情況下,單位時間內(nèi)運行的基本指令個數(shù)是固定的
如果一個算法需要的指令比另一個算法需要的指令個數(shù)小,就可以推出算法A運行的時間更快
前提:算法計算的快慢和輸入的數(shù)據(jù)的規(guī)模是有關(guān)系的
粗略計算算法的快慢:
n:數(shù)據(jù)的規(guī)模
f(n): n的數(shù)據(jù)規(guī)模情況下,需要的大概基本指令個數(shù)
引入大O漸進表示法:
1.只保留最高次項
2.保留的最高次項系數(shù)化為1
f(n)=2n+10
表示為O(n)
算法的快慢還和最好的情況,平均的情況,最好的情況
一般優(yōu)先關(guān)注最壞的情況,其次平均情況,最好情況關(guān)注比較少
時間復(fù)雜度是o(log(n))
n 1000 1000 000 10億
o(n) 1000 1000 000 10億
o(log(n)) 10 20 30
常見的時間復(fù)雜度o(1) o(log(n)) 0(n) o(n*log(n)) o(n^2)
空間復(fù)雜度:
o(f(n)) 在輸入n規(guī)模下的情況下,算法需要的大的空間情況
1‘開辟數(shù)組
2.畫調(diào)用棧
考慮 數(shù)組容量(array.length)和已有數(shù)據(jù)個數(shù)(size)的關(guān)系
1.容量是夠用的size<array.length
2.容量不夠用
搬家(1.5、2倍)
int newCapacity=array.length*2;
1.找新家;
int[] newArray=new int[newCapacity]
2.搬家
for(int i=0;i<size;i++){
newArray[i]=array[i];
}
3.發(fā)朋友圈
this.array=newArray;
4.老房子退掉
原來的數(shù)組對象,沒有引用指向,變成垃圾
擴容的空間越小,空間的浪費越小
擴容的空間越大,需要擴容的頻率越小
經(jīng)驗值1.5或者2倍
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。
當前標題:java數(shù)據(jù)結(jié)構(gòu)知識點自我總結(jié)-創(chuàng)新互聯(lián)
文章鏈接:http://www.rwnh.cn/article6/cegcig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、靜態(tài)網(wǎng)站、Google、定制開發(fā)、網(wǎng)站建設(shè)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容