W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
「算法 algorithm」是在有限時間內(nèi)解決特定問題的一組指令或操作步驟,它具有以下特性。
「數(shù)據(jù)結(jié)構(gòu) data structure」是計算機中組織和存儲數(shù)據(jù)的方式,具有以下設(shè)計目標。
數(shù)據(jù)結(jié)構(gòu)設(shè)計是一個充滿權(quán)衡的過程。如果想要在某方面取得提升,往往需要在另一方面作出妥協(xié)。下面舉兩個例子。
如圖 1-4 所示,數(shù)據(jù)結(jié)構(gòu)與算法高度相關(guān)、緊密結(jié)合,具體表現(xiàn)以下三個方面。
圖 1-4 數(shù)據(jù)結(jié)構(gòu)與算法的關(guān)系
數(shù)據(jù)結(jié)構(gòu)與算法猶如圖 1-5 所示的拼裝積木。一套積木,除了包含許多零件之外,還附有詳細的組裝說明書。我們按照說明書一步步操作,就能組裝出精美的積木模型。
圖 1-5 拼裝積木
兩者的詳細對應(yīng)關(guān)系如表 1-1 所示。
表 1-1 將數(shù)據(jù)結(jié)構(gòu)與算法類比為積木
數(shù)據(jù)結(jié)構(gòu)與算法 | 拼裝積木 |
---|---|
輸入數(shù)據(jù) | 未拼裝的積木 |
數(shù)據(jù)結(jié)構(gòu) | 積木組織形式,包括形狀、大小、連接方式等 |
算法 | 把積木拼成目標形態(tài)的一系列操作步驟 |
輸出數(shù)據(jù) | 積木模型 |
值得說明的是,數(shù)據(jù)結(jié)構(gòu)與算法是獨立于編程語言的。正因如此,本書得以提供多種編程語言的實現(xiàn)。
約定俗成的簡稱
在實際討論時,我們通常會將“數(shù)據(jù)結(jié)構(gòu)與算法”簡稱為“算法”。比如眾所周知的 LeetCode 算法題目,實際上同時考察了數(shù)據(jù)結(jié)構(gòu)和算法兩方面的知識。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: