資料結構 序章

2021-10-05 12:59:16 字數 771 閱讀 2036

閒來無事,正好看見考研時複習資料結構的王道書,說實話當時學的時候追求了速率,有些地方還是不求甚解,現在回想一下已經忘得七七八八了,只記得許多課後習題看完答案之後有種「臥槽,還能這麼寫?」這樣的感嘆,所以打算認真的更一下資料結構。

一般來講呢,資料結構就三個要素,邏輯結構,儲存結構,以及資料運算。也就是說乙個演算法,你設計的時候呢,是基於邏輯結構的,比如說樹啊,圖啊,線性表啊這些,在我們腦子裡是這麼個結構,但是真正實現出來,是靠他的儲存結構的。也就是說你這個資料,你到底給他存在哪個儲存單元以及這些儲存單元之間的聯絡。

儲存結構

資料運算

經常說演算法演算法的,其實大家也都知道這是個什麼東西,通俗點說就是解決問題的方法步驟嘛,這裡就寫一些規範化的語言吧,用規範的語言描述一下這個東西

演算法的五個特性,有窮性,確定性,可行性,輸入,輸出。其中輸入可以有零個但是輸出至少得有乙個。其他就字面意思

而乙個好的演算法。通常來說追求的就是一下幾點

正確性可讀性

健壯性:即使你不按要求使用,我也不會系統崩潰,不會產生一些莫名其妙的結果

效率與低儲存量要求

效率

怎麼衡量乙個演算法的效率呢,也就是事件複雜度和空間複雜度,跑得快,佔記憶體少,又能達到想要的效果,你就是乙個高效的演算法。

這裡主要提一句,這兩個複雜度一般都是按照量級表示的,就比如說你乙個程式複雜度是o(n),另乙個是o(n^2),他倆加起來還是後者,主要就表示是這個數量級的就行不用那麼精確。

…序章就這樣吧,下節更線性表裡的順序儲存–順序表以及一些相關的演算法題

資料結構 序章

資料結構是指相互之間存在著一種或多種關係的資料元素的集合和該集合中資料元素之間的關係組成。記為 data structure d,r 其中d是資料元素的集合,r是該集合中所有元素之間的關係的有限集合。簡言之資料結構是一門研究非數值計算的程式設計問題中計算機的操作物件以及他們之間的關係和操作等的學科。...

資料結構 資料結構緒論

資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...

資料結構 資料結構演算法

分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...