先附上文檔歸類目錄:
課本源碼合輯 連結☛☛☛ 《資料結構》課本源碼合輯
習題集全解析 連結☛☛☛ 《資料結構習題集》答案解析合輯
習題完整源碼 連結☛☛☛ 習題完整源碼合輯
教材所有源代碼 連結☛☛☛ 《資料結構》-嚴蔚敏,吳偉民-源碼 (GitHub倉庫)
歡迎Star項目,如有疑問,請在Issues回報。
部落客有話說:(已遷移到部落格園 ☛☛☛ 新部落格連結)
01.自學程式設計,難免思路阻塞,故我在本部落格陸續更新了嚴蔚敏,吳偉民版《資料結構-C語言版》各章節的課本源碼和配套習題集答案解析,目的是為了整理資料結構中的知識點,并與網友交流意見,集思廣益,共同進步。(目前已更新完畢,細節待完善)
★注★ 左側《資料結構》目錄下分三個欄目:<課本>、<習題集>、<習題詳解>。
<課本>目錄下實作了三類,或者說是三種來源的資料結構源碼:一種是課本中重點描述過的資料結構與算法,另一種是課本中提到,但隻是一筆帶過的資料結構;還有一種是課本中未提到,但在習題集中涉及到的資料結構。
<習題集>目錄下存放了配套習題集中每章的習題解答,但對于算法設計題,隻給出了關鍵代碼,詳細的實作放在了習題詳解目錄下。
<習題詳解>目錄下存放了習題集中每個算法設計題的詳細解答。
02.本源碼涵蓋了《資料結構》課本和習題集兩部分,課本和習題集分别以下圖書籍為參照:
03.所有源碼實作均使用C語言,遵循C89或C99标準,使用C-Free 5(内置gcc編譯器)測試通過。
04.為了便于引用、查閱,将各章内容分檔案夾存放,其中,《▲課本算法實作》中存放對課本中算法的實作,《▼配套習題解析》存放對題集中習題的解答,各源檔案按章、節組織,組織方式見附錄。
★★★05.注意各文檔引用.h檔案或.c檔案時的相對路徑。為保證源碼中對各.h或.c文檔的引用有效,請保持各文檔的相對位置固定。
★★★06.對于主文檔(含有main函數的文檔),#include自定義源碼時引入的是.c檔案而不是.h檔案,其原因是測試用的gcc編譯器支援直接編譯,無需建立工程。如果是在Visual Studio等必須建立工程才能測試的編譯器下,請引入.h檔案,而且,對全局變量的定義等可能需要作出修改,變為帶有extren的形式。
07.部分類型定義名稱、宏名、函數名和算法步驟與原書略有差別,但算法思想與原書一緻,這樣“改寫”主要是為了易于區分各名稱并簡化操作。
08.各算法并非100%完善,未考慮所有意外,未做過多輸入與輸出驗證。
09.有的資料結構在建立之前需要初始化,有的建立和初始化合為一體。
10.大多數組0号單元棄用,或用作計數器。
11.留意全局變量和類型定義、宏定義。
12.算法的測試文檔中有些看似“多餘”的縮進是為了區分不同功能子產品,便于浏覽。
★★★13.在習題集解析中,不同人可能會對同一個題的了解有差别,是以這裡隻是表達我個人的想法,不代表其他任何人角度。
14.在習題解析中,對于算法設計題給出了關鍵代碼,完整的習題代碼請檢視附注的連結。
15.所有涉及到的源碼都是以圖檔給出的,目的一是為了防止有同學抄作業,目的二是希望初學的可以自己把代碼敲一遍,而不是複制粘貼過去光看不練。
16.有疑問聯系部落客。
17.待續…
附一:《資料結構》課本源碼《▲課本算法實作》目錄下的檔案組織方式,《▼配套習題解析》部分的組織方式與此類似,隻不過每一章内部存放的是習題解析和測試文檔。
附二:源碼目錄組織(注意保持各檔案相對位置固定):