日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

《编程珠玑》 读书笔记

發(fā)布時(shí)間:2025/4/16 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《编程珠玑》 读书笔记 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

《編程珠璣》

讀書筆記

婁雨禛 PB16060356

準(zhǔn)確的問(wèn)題描述

  很多時(shí)候,我們總是過(guò)度關(guān)注了解決問(wèn)題所用的巧妙算法,而將問(wèn)題本身的重要性忽視。當(dāng)我們拿到一個(gè)問(wèn)題時(shí),應(yīng)當(dāng)反復(fù)研讀問(wèn)題的每一個(gè)細(xì)節(jié),因?yàn)檎沁@些細(xì)節(jié)的細(xì)微偏差導(dǎo)致了我們?cè)诮鉀Q問(wèn)題時(shí)方案與技巧的重大不同。

  如果我們只花很少的時(shí)間研讀問(wèn)題本身,而過(guò)度專注于問(wèn)題的解決時(shí),極有可能在百般忙碌之后,發(fā)現(xiàn)自己走了一大段彎路。所謂“舍本逐末”,或許說(shuō)的就是這個(gè)道理吧。

數(shù)據(jù)決定程序結(jié)構(gòu)

  程序語(yǔ)言是給人閱讀的,程序的執(zhí)行效率是由數(shù)據(jù)流的高效與否體現(xiàn)的。而橫跨這兩者之間的,便是程序結(jié)構(gòu)。事實(shí)上,良好的程序結(jié)構(gòu)能夠非常好地同時(shí)達(dá)成上述兩個(gè)目標(biāo),而基本的方法,就是讓我們尊崇這么一個(gè)原則:數(shù)據(jù)決定程序結(jié)構(gòu)

  這里有一些值得記錄的注意點(diǎn)。

  出錯(cuò)信息

  混亂系統(tǒng)的數(shù)百個(gè)出錯(cuò)信息散布在出錯(cuò)代碼中。同時(shí),這些出錯(cuò)信息又和其他語(yǔ)句混雜在一起。而清晰系統(tǒng)則通過(guò)一個(gè)專用函數(shù)來(lái)訪問(wèn)這些出錯(cuò)信息。

  單詞分析

很多計(jì)算機(jī)問(wèn)題都是由英文單詞的分析引起的。拼寫檢查器會(huì)使用“后綴去除”來(lái)精簡(jiǎn)詞典,這是所有編程人員應(yīng)當(dāng)注意的。

  結(jié)構(gòu)化數(shù)據(jù)

  最初,結(jié)構(gòu)化數(shù)據(jù)就意味著選擇恰當(dāng)?shù)淖兞棵:髞?lái),在程序員使用“平行數(shù)組”或寄存器偏移量的地方,編程語(yǔ)言加入了記錄或結(jié)構(gòu)以及指向它們的指針。指針的引入極大地優(yōu)化了數(shù)據(jù)的傳遞和表達(dá)。我們?cè)诰幊踢^(guò)程中也要盡量發(fā)揮指針操作的優(yōu)越性。

代碼調(diào)優(yōu)法則

  代碼調(diào)優(yōu)大致有以下六條法則。

  空間換時(shí)間法則

  空間換時(shí)間在很多地方都見(jiàn)得到。比如,求斐波那契數(shù)列時(shí),我們?yōu)榱朔乐惯f歸所產(chǎn)生的龐大計(jì)算量拖慢運(yùn)行速度,往往將之前步驟的數(shù)據(jù)存儲(chǔ)起來(lái),以便后次調(diào)用。空間換時(shí)間的思想在今天尤為適用。隨著儲(chǔ)存空間的大幅增加,我們更追求速度的提升。

  時(shí)間換空間法則

  密集儲(chǔ)存表可以通過(guò)增加儲(chǔ)存和檢索數(shù)據(jù)所需的時(shí)間來(lái)減小存儲(chǔ)開(kāi)銷。

  循環(huán)法則

  將代碼移出循環(huán) 與其在循環(huán)的每一次迭代中都執(zhí)行一次某種運(yùn)算,不如將其移到循環(huán)體外,只計(jì)算一次。

  循環(huán)展開(kāi) 通過(guò)將循環(huán)展開(kāi),可以減少修改循環(huán)下標(biāo)的開(kāi)銷,從而有效避免管道延遲,增加指令的并行性。

  刪除賦值 如果內(nèi)循環(huán)中很多開(kāi)銷來(lái)自普通的賦值,通常可以通過(guò)重復(fù)代碼并修改變量的使用來(lái)刪除這些賦值。

  消除無(wú)條件分支

  循環(huán)合并

  邏輯法則

  利用等價(jià)的代數(shù)表達(dá)式。如果邏輯表達(dá)式的求值開(kāi)銷太大,就將其替換為開(kāi)銷較小的等價(jià)代數(shù)表達(dá)式。

  過(guò)程法則

  打破函數(shù)層次。對(duì)于調(diào)用自身的函數(shù),通常可以將其改寫為內(nèi)聯(lián)版本并固定傳入的變量來(lái)縮短其運(yùn)行時(shí)間。

  表達(dá)式法則

  消除公共子表達(dá)式。如果兩次對(duì)同一個(gè)表達(dá)式求值時(shí),其所有變量都沒(méi)有任何改動(dòng),那么,就應(yīng)當(dāng)儲(chǔ)存第一次的變量值以取代第二次的求值。

轉(zhuǎn)載于:https://www.cnblogs.com/RainLou/p/8623760.html

總結(jié)

以上是生活随笔為你收集整理的《编程珠玑》 读书笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。