北京網(wǎng)站建設(shè)之C程序建設(shè)相關(guān)知識(shí)【續(xù)】

2022-05-11    分類: 網(wǎng)站建設(shè)

在《北京網(wǎng)站建設(shè)之C程序建設(shè),企業(yè)網(wǎng)站建設(shè)》一文中創(chuàng)新互聯(lián)為大家介紹了一下其中的三點(diǎn),即1、選擇合適的算法和數(shù)據(jù)結(jié)構(gòu),2、程序結(jié)構(gòu),3、使用盡量小的數(shù)據(jù)類型。因?yàn)镃程序建設(shè)是一個(gè)非常龐大的體系,所以在接下來的內(nèi)容中創(chuàng)新互聯(lián)繼續(xù)為大家介紹北京網(wǎng)站建設(shè)之C程序建設(shè)相關(guān)知識(shí)的另外三點(diǎn),即4、以內(nèi)存換速度的問題,5、優(yōu)化數(shù)組的尋址,6、鏈表的優(yōu)化。

大家在閱讀北京網(wǎng)站建設(shè)之C程序建設(shè)的相關(guān)內(nèi)容時(shí)如果遇到網(wǎng)站建設(shè)問題、企業(yè)網(wǎng)站建設(shè)問題、生物網(wǎng)站建設(shè)問題等所有與網(wǎng)站建設(shè)相關(guān)的問題都可以聯(lián)系我們的在線客戶進(jìn)行咨詢。




4、關(guān)于以內(nèi)存換速度的問題
在C程序建設(shè)中內(nèi)存和速度一直接程序員們無法兼顧的問題,大多數(shù)情況,速度同內(nèi)存(或者是性能,比如說壓縮性能什么的)是不可兼得的。目前C程序建設(shè)行業(yè)中程序加速的常用算法就是利用查表法來避免計(jì)算,這樣原來的復(fù)雜計(jì)算用查表就可以解決了。如,在jpg有huffman碼表,在YUV到RGB變換也有變換表。
這種做法雖然浪費(fèi)了內(nèi)存,但是速度即有了顯著的提升。在數(shù)據(jù)庫查詢里面也有類似的方式,如將熱點(diǎn)存儲(chǔ)起來以加速查詢。
5、優(yōu)化數(shù)組的尋址
程序員在編寫程序時(shí),常常會(huì)使用一個(gè)一維數(shù)組a[M×N]來模擬二維數(shù)組a[N][M]的問題,在訪問a[]一維數(shù)組的時(shí)寫成a[j×M+i](對于a[j][i]),這就是一維數(shù)值的尋址。雖然,這樣寫是沒有問題的,但是這樣做后每個(gè)尋址語句j×M+i都要進(jìn)行一次乘法運(yùn)算。
二維數(shù)值的尋址則是不同的,二維數(shù)組要比(模擬該二維數(shù)組)一維數(shù)組尋址效率高。因?yàn)閍[j][i]的尋址只是訪問了指針數(shù)組得到j(luò)行的地址,然后再+i,是沒有乘法運(yùn)算的。下面從二維數(shù)組的結(jié)構(gòu)來分析,二維數(shù)組的結(jié)構(gòu)可以分為兩部分:
①是一個(gè)指針數(shù)組,存儲(chǔ)的是每一行的起始地址,這也就是為什么在a[N][M]中,a[j]是一個(gè)指針而不是a[j][0]數(shù)據(jù)的原因。

②是真正的M×N的連續(xù)數(shù)據(jù)塊,這解釋了為什么一個(gè)二維數(shù)組可以象一維數(shù)組那樣尋址的原因。(即a[j][i]等同于(a[0])[j×M+i])


6、鏈表的優(yōu)化問題


很多程序員在遇到鏈表問題時(shí)都會(huì)想“我們需要鏈表嗎”的問題,雖然我們在編寫一些耗時(shí)算法時(shí)采用了鏈表的形式,但是這樣對內(nèi)存的占用(似乎)少了,但是卻忽略了速度。所以在這里創(chuàng)新互聯(lián)建議:程序員在編寫耗時(shí)大的代碼時(shí),盡可能不要采用鏈表!因?yàn)閷?shí)際上采用鏈表并不能真正節(jié)省內(nèi)存。

網(wǎng)站名稱:北京網(wǎng)站建設(shè)之C程序建設(shè)相關(guān)知識(shí)【續(xù)】
文章轉(zhuǎn)載:http://www.muchs.cn/news14/152014.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營銷seo公司;服務(wù)項(xiàng)目有網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)