經(jīng)常能夠聽到這樣的聲音,都知道數(shù)據(jù)結(jié)構(gòu)重要,但是開發(fā)中,幾乎用不到。其實(shí)我們每天都在用,只是不關(guān)注。或者說換成了另外的一種形式,比如STL。
還記得這個(gè)經(jīng)典公式嗎?
程序=算法+數(shù)據(jù)結(jié)構(gòu)
**數(shù)據(jù)結(jié)構(gòu)定義:**數(shù)據(jù)結(jié)構(gòu)是一種存儲(chǔ)和組織數(shù)據(jù)的方式,以便于訪問和修改。數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)以及數(shù)據(jù)的運(yùn)算,即按照某種邏輯關(guān)系組織起來的一批數(shù)據(jù),按一定的映射方式把它存放在計(jì)算機(jī)的存儲(chǔ)器中,并在這些數(shù)據(jù)上定義了一個(gè)運(yùn)算的集合。
算法定義
計(jì)算機(jī)求解一個(gè)問題所需的一系列步驟
算法的基本特性:
算法設(shè)計(jì)的要求:
時(shí)間復(fù)雜度:
程序大概的執(zhí)行次數(shù)(不是執(zhí)行時(shí)間)。一般情況下,算法中基本操作重復(fù)執(zhí)行的次數(shù)是問題規(guī)模n的某個(gè)函數(shù),用T(n)表示,若有某個(gè)輔助函數(shù)f(n),使得當(dāng)n趨近于無窮大時(shí),T(n)/f(n)的極限值為不等于零的常數(shù),則稱f(n)是T(n)的同數(shù)量級(jí)函數(shù)。記作T(n)=O(f(n)),稱O(f(n)) 為算法的漸進(jìn)時(shí)間復(fù)雜度,簡稱時(shí)間復(fù)雜度
空間復(fù)雜度:
該算法所耗費(fèi)的存儲(chǔ)空間,它也是問題規(guī)模n的函數(shù)。其是對(duì)一個(gè)算法在運(yùn)行過程中臨時(shí)占用存儲(chǔ)空間大小的量度。一個(gè)算法在計(jì)算機(jī)存儲(chǔ)器上所占用的存儲(chǔ)空間,包括存儲(chǔ)算法本身所占用的存儲(chǔ)空間,算法的輸入輸出數(shù)據(jù)所占用的存儲(chǔ)空間和算法在運(yùn)行過程中臨時(shí)占用的存儲(chǔ)空間這三個(gè)方面。
本站文章版權(quán)歸原作者及原出處所有 。內(nèi)容為作者個(gè)人觀點(diǎn), 并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),本站只提供參考并不構(gòu)成任何投資及應(yīng)用建議。本站是一個(gè)個(gè)人學(xué)習(xí)交流的平臺(tái),網(wǎng)站上部分文章為轉(zhuǎn)載,并不用于任何商業(yè)目的,我們已經(jīng)盡可能的對(duì)作者和來源進(jìn)行了通告,但是能力有限或疏忽,造成漏登,請(qǐng)及時(shí)聯(lián)系我們,我們將根據(jù)著作權(quán)人的要求,立即更正或者刪除有關(guān)內(nèi)容。本站擁有對(duì)此聲明的最終解釋權(quán)。