深入淺出數(shù)據(jù)結(jié)構(gòu)與算法(微課視頻版)
定 價(jià):¥99
中 教 價(jià):¥59.40 (6.00折)
庫(kù) 存 數(shù): 0
數(shù)據(jù)結(jié)構(gòu)與算法是計(jì)算機(jī)、軟件工程等相關(guān)專(zhuān)業(yè)一門(mén)非常重要的專(zhuān)業(yè)基礎(chǔ)和核心課程。《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》內(nèi)容全面,語(yǔ)言通俗易懂,所選案例典型、豐富,結(jié)構(gòu)清晰,重難點(diǎn)突出,所有算法均已實(shí)現(xiàn),可直接運(yùn)行。《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》共分為四篇,內(nèi)容包括數(shù)據(jù)結(jié)構(gòu)概述,數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ),線性表,棧和隊(duì)列,串、數(shù)組與廣義表,樹(shù),圖,查找,排序,回溯算法,貪心算法,分治算法,實(shí)用算法等。另外,《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》贈(zèng)送同步微視頻、教學(xué)大綱、案例源代碼和PPT課件,方便讀者學(xué)習(xí)和使用。 《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》可作為計(jì)算機(jī)軟件開(kāi)發(fā)、準(zhǔn)備考取計(jì)算機(jī)專(zhuān)業(yè)研究生和參加軟考人員學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的參考書(shū),也可作為計(jì)算機(jī)、軟件工程及相關(guān)專(zhuān)業(yè)的教材。
讀者對(duì)象《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》可作為計(jì)算機(jī)軟件開(kāi)發(fā)、準(zhǔn)備考取計(jì)算機(jī)專(zhuān)業(yè)研究生和參加軟考人員學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的參考書(shū),也可作為計(jì)算機(jī)、軟件工程及相關(guān)專(zhuān)業(yè)的教材。
本書(shū)特色★★內(nèi)容全面:涵蓋數(shù)據(jù)結(jié)構(gòu)所有知識(shí)點(diǎn),所有算法采用C語(yǔ)言實(shí)現(xiàn),其代碼均在Visual Studio環(huán)境下調(diào)試通過(guò),所有案例均提供完整的程序,無(wú)須修改就能直接運(yùn)行。★★重難點(diǎn)突出:每一章均給出了重點(diǎn)和難點(diǎn)提示,針對(duì)重點(diǎn)和難點(diǎn)問(wèn)題,通過(guò)理論講解、示例、算法實(shí)現(xiàn)和豐富的圖表進(jìn)行展示。★★案例豐富、典型:針對(duì)每部分學(xué)習(xí)內(nèi)容,精選了全國(guó)重點(diǎn)高校和全國(guó)統(tǒng)考試題、軟考試題進(jìn)行講解,每個(gè)案例均提供算法思想講解和源碼。★★語(yǔ)言通俗易懂:深入剖析了C語(yǔ)言中難點(diǎn):指針、鏈表、函數(shù)傳值調(diào)用和傳地址調(diào)用等,常用算法實(shí)現(xiàn)。采用通俗的語(yǔ)言講解數(shù)據(jù)結(jié)構(gòu)中抽象的概念,通過(guò)以圖表和案例的方式分析算法思想,便于讀者真正理解和掌握。在內(nèi)容的講解上,語(yǔ)言描述通俗易懂、循序漸進(jìn)。★★資源豐富:配套微課視頻、例題代碼、PPT課件和教學(xué)大綱。
在講授數(shù)據(jù)結(jié)構(gòu)時(shí),常常發(fā)現(xiàn)不少學(xué)生對(duì)于C語(yǔ)言掌握得不扎實(shí),導(dǎo)致學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法時(shí)比較困難,對(duì)教材中的算法一知半解,甚至不去關(guān)注算法的實(shí)現(xiàn),至于獨(dú)立設(shè)計(jì)與實(shí)現(xiàn)算法更是一件困難的事情。平時(shí)僅滿(mǎn)足于大致思想的理解,到考研時(shí),才不得不花大量的時(shí)間去學(xué)習(xí)算法,但這時(shí)未必能快速領(lǐng)會(huì)其中的算法思想。若有一本涵蓋C語(yǔ)言基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)及算法實(shí)現(xiàn)的圖書(shū),由淺入深地講解C語(yǔ)言難點(diǎn),并詳細(xì)分析算法,可能對(duì)讀者理解和掌握數(shù)據(jù)結(jié)構(gòu)非常有幫助。數(shù)據(jù)結(jié)構(gòu)與算法是計(jì)算機(jī)、軟件工程等相關(guān)專(zhuān)業(yè)的一門(mén)非常重要的核心課程和專(zhuān)業(yè)基礎(chǔ)課程,是繼續(xù)深入學(xué)習(xí)后續(xù)課程(如算法設(shè)計(jì)與分析、操作系統(tǒng)、編譯原理、人工智能、機(jī)器學(xué)習(xí)等)的重要基礎(chǔ)。隨著計(jì)算機(jī)應(yīng)用領(lǐng)域的不斷發(fā)展和與日俱增的海量數(shù)據(jù)信息,數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)軟件設(shè)計(jì)和應(yīng)用軟件設(shè)計(jì)方面的重要作用更加突出。因此,掌握扎實(shí)的數(shù)據(jù)結(jié)構(gòu)與算法的基本知識(shí)和技能對(duì)于今后的專(zhuān)業(yè)學(xué)習(xí)和軟件開(kāi)發(fā)顯得格外重要。在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法時(shí),不僅要學(xué)會(huì)如何抽象建模、理解數(shù)據(jù)元素之間的關(guān)系、算法思想,還要能將算法用C/C /Java等高級(jí)語(yǔ)言實(shí)現(xiàn)。在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的過(guò)程中,許多專(zhuān)業(yè)術(shù)語(yǔ)較為抽象,對(duì)于初學(xué)者來(lái)說(shuō),有些概念及算法不容易理解和掌握,若語(yǔ)言掌握得不夠深入,更增加了學(xué)習(xí)的難度。《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》深入剖析了C語(yǔ)言中的難點(diǎn):指針、鏈表、函數(shù)傳值調(diào)用和傳地址調(diào)用等,常用算法實(shí)現(xiàn)。《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》采用通俗易懂的語(yǔ)言講解數(shù)據(jù)結(jié)構(gòu)中抽象的概念,通過(guò)以圖表和案例的方式分析算法思想,便于讀者真正理解和掌握。《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》內(nèi)容全面,涵蓋數(shù)據(jù)結(jié)構(gòu)所有知識(shí)點(diǎn),所有算法采用C語(yǔ)言實(shí)現(xiàn),其代碼均在Visual Studio環(huán)境下調(diào)試通過(guò),所有案例均提供完整的程序,無(wú)須修改就能直接運(yùn)行。《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》凝結(jié)了作者多年來(lái)的數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)與教學(xué)實(shí)踐經(jīng)驗(yàn),針對(duì)每一部分內(nèi)容,精選了涵蓋所有知識(shí)點(diǎn)的典型案例,這些案例有的來(lái)自各重點(diǎn)高校和全國(guó)統(tǒng)考試題,有的來(lái)自于軟考、各大公司筆試面試題目。在內(nèi)容的講解上,語(yǔ)言描述通俗易懂、循序漸進(jìn),另外還配套了微課視頻講解,視頻講解更加針對(duì)重點(diǎn)、難點(diǎn)進(jìn)行分析,以便讀者理解和掌握。所有算法均提供了完整代碼實(shí)現(xiàn),最后還提供了C語(yǔ)言程序調(diào)試技術(shù)的講解。通過(guò)學(xué)習(xí)《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》,不僅能幫助讀者掌握數(shù)據(jù)結(jié)構(gòu)與算法理論知識(shí),還能提高C語(yǔ)言編程和調(diào)試技術(shù),培養(yǎng)解決復(fù)雜工程問(wèn)題的能力。《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》贈(zèng)送同步微視頻、案例源代碼、教學(xué)大綱和PPT課件,方便讀者學(xué)習(xí)和使用,讀者可掃描下方二維碼下載獲取相關(guān)資源。PPT課件《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》適用于想全面系統(tǒng)地掌握數(shù)據(jù)結(jié)構(gòu)與算法的讀者,特別是學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法時(shí)感到困惑的讀者。可作為學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的自學(xué)教材,也可作為計(jì)算機(jī)、軟件工程等相關(guān)專(zhuān)業(yè)學(xué)生的考研輔導(dǎo)用書(shū)和參加軟考人員的輔導(dǎo)用書(shū)。有這么多熱心讀者關(guān)心和支持《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》的出版,我感到非常欣慰,在此也對(duì)所有關(guān)注《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》的朋友們說(shuō)聲謝謝!希望今后能有更多的朋友關(guān)注《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》,提出更多的改進(jìn)建議。為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法如果你打算今后從事軟件開(kāi)發(fā),或從事計(jì)算機(jī)科研、教學(xué)等工作,必須學(xué)好數(shù)據(jù)結(jié)構(gòu)與算法。首先,數(shù)據(jù)結(jié)構(gòu)與算法作為計(jì)算機(jī)專(zhuān)業(yè)的專(zhuān)業(yè)基礎(chǔ)課程,是計(jì)算機(jī)考研的必考科目之一,如果打算報(bào)考計(jì)算機(jī)專(zhuān)業(yè)的研究生,你必須學(xué)好它;其次,數(shù)據(jù)結(jié)構(gòu)與算法是計(jì)算機(jī)軟考、計(jì)算機(jī)等級(jí)考試等相關(guān)考試的必考內(nèi)容之一,要是想順利通過(guò)這些專(zhuān)業(yè)考試,你也必須學(xué)好它;最后,數(shù)據(jù)結(jié)構(gòu)與算法還是你今后畢業(yè),進(jìn)入各軟件公司、事業(yè)單位的必考內(nèi)容之一,如果你想獲得一份滿(mǎn)意的工作,同樣必須學(xué)好它。即使你沒(méi)有以上考慮,作為一名計(jì)算機(jī)從業(yè)人員和愛(ài)好者,數(shù)據(jù)結(jié)構(gòu)與算法是其他后續(xù)計(jì)算機(jī)專(zhuān)業(yè)課程的基礎(chǔ),人工智能、機(jī)器學(xué)習(xí)等許多課程都會(huì)用到數(shù)據(jù)結(jié)構(gòu)與算法方面的知識(shí)。要想學(xué)好計(jì)算機(jī),數(shù)據(jù)結(jié)構(gòu)與算法是必須掌握的內(nèi)容。如何學(xué)好數(shù)據(jù)結(jié)構(gòu)與算法經(jīng)常有學(xué)生問(wèn)我諸如如何學(xué)好C語(yǔ)言如何學(xué)好Java程序設(shè)計(jì)如何學(xué)好數(shù)據(jù)結(jié)構(gòu)與算法這樣的問(wèn)題,我總是會(huì)告訴他們多看書(shū),多上機(jī)。盡管在上課時(shí)我反復(fù)強(qiáng)調(diào)看書(shū)和上機(jī)的重要性,學(xué)習(xí)這些語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)與算法并沒(méi)有什么所謂的捷徑,但還是有不少學(xué)生依然想要尋求所謂的技巧。對(duì)于初學(xué)者來(lái)說(shuō),數(shù)據(jù)結(jié)構(gòu)這門(mén)課有許多抽象的概念,不太容易掌握。萬(wàn)事開(kāi)頭難,只要你掌握了學(xué)習(xí)方法和技巧,學(xué)任何東西就會(huì)變得很容易,學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)也是如此。要想學(xué)好數(shù)據(jù)結(jié)構(gòu),首先應(yīng)該有信心,要有戰(zhàn)勝困難的決心,不要有畏懼心理,一開(kāi)始每個(gè)人都會(huì)遇到困難,重要的是堅(jiān)持。路雖遠(yuǎn),行則將至;事雖難,做則必成。騰訊原副總裁吳軍博士曾這樣說(shuō)過(guò):成功的道路并不像想象的那么擁擠,因?yàn)樵谌松鸟R拉松長(zhǎng)路上,絕大多數(shù)人跑不到一半就主動(dòng)退下來(lái)了。到后來(lái),剩下的少數(shù)人不是嫌競(jìng)爭(zhēng)對(duì)手太多,而是發(fā)愁怎樣找一個(gè)同伴陪自己一同跑下去。因此,我們能夠跑得更遠(yuǎn),僅僅是因?yàn)槲覀冞在跑,如此而已。任何事情都是這樣,學(xué)習(xí)亦如此。其次就是要掌握好C語(yǔ)言,C語(yǔ)言是基礎(chǔ),因?yàn)椤渡钊霚\出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》中的算法都是用C語(yǔ)言描述的(其他大多數(shù)數(shù)據(jù)結(jié)構(gòu)圖書(shū)也采用C語(yǔ)言描述),即使之前沒(méi)有掌握好C語(yǔ)言也沒(méi)有關(guān)系,只要有C語(yǔ)言基礎(chǔ)就行,可以邊學(xué)數(shù)據(jù)結(jié)構(gòu)邊鞏固C語(yǔ)言知識(shí)。最后一點(diǎn)就是多上機(jī),勤思考。《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》中所有算法都用C語(yǔ)言表述,并給出完整程序,剛開(kāi)始時(shí)只需要把程序看懂,然后多上機(jī)調(diào)試程序,練習(xí)并掌握C語(yǔ)言編程和調(diào)試技巧,這樣就可以對(duì)數(shù)據(jù)結(jié)構(gòu)中的算法思想融會(huì)貫通,真正領(lǐng)會(huì)其中的內(nèi)涵。通過(guò)《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》通俗的講解,加上自己多動(dòng)手上機(jī)實(shí)踐,學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法就會(huì)變得很輕松。如何使用《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》涵蓋了數(shù)據(jù)結(jié)構(gòu)與算法幾乎所有知識(shí),案例選取豐富,講解的過(guò)程中引入了作者對(duì)數(shù)據(jù)結(jié)構(gòu)與算法的理解。《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》用通俗易懂的語(yǔ)言描述抽象的概念,配套視頻針對(duì)重點(diǎn)和難點(diǎn)進(jìn)行講解,方便讀者理解與學(xué)習(xí)。《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》可以作為學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的自學(xué)教材,也可以作為案頭必備的參考書(shū),值得收藏。《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》很適合初學(xué)數(shù)據(jù)結(jié)構(gòu)與算法的讀者閱讀,也可作為參加計(jì)算機(jī)考研學(xué)生的輔導(dǎo)書(shū)。在使用《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》過(guò)程中,可以邊看書(shū),邊看視頻講解,視頻講解主要針對(duì)《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》中的難點(diǎn)和重點(diǎn),每學(xué)完一部分內(nèi)容,可通過(guò)調(diào)試《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》配套的代碼認(rèn)真領(lǐng)會(huì)算法的思想,并思考為什么要這樣實(shí)現(xiàn),從而加深對(duì)數(shù)據(jù)結(jié)構(gòu)中概念的理解。相信在學(xué)完《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》后,讀者會(huì)在數(shù)據(jù)結(jié)構(gòu)和算法方面有很大的收獲。預(yù)祝大家在學(xué)習(xí)《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》時(shí)有一個(gè)愉快的旅程。《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》由陳銳、張亞洲、崔建濤、李璞編著,參與編寫(xiě)的人員還有戎璐、閆玉紅、范乃梅、韓樸杰、楚楊陽(yáng)和張祖菡。致謝感謝幫助《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》問(wèn)世的所有人,尤其是在清華大學(xué)出版社的幫助下,《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》才得以順利出版。耿國(guó)華老師在數(shù)據(jù)結(jié)構(gòu)與算法領(lǐng)域有很高的造詣,她在數(shù)據(jù)結(jié)構(gòu)與算法方面給了我很大啟發(fā)。最后還要感謝鄭州輕工業(yè)大學(xué)全體同仁在工作上的幫助及對(duì)我寫(xiě)作上的關(guān)心與支持。在編寫(xiě)《深入淺出數(shù)據(jù)結(jié)構(gòu)與算法:微課視頻版》的過(guò)程中,參閱了大量相關(guān)教材、著作,個(gè)別案例也參考了網(wǎng)絡(luò)資源,在此向各位原著者致敬!由于編寫(xiě)時(shí)間倉(cāng)促,水平所限,書(shū)中難免存在一些不足之處,懇請(qǐng)讀者不吝賜教。
編 者2022年月11月
陳銳,碩士生導(dǎo)師,中國(guó)人工智能學(xué)會(huì)情感智能專(zhuān)委會(huì)委員、中國(guó)圖像圖形學(xué)學(xué)會(huì)人機(jī)交互專(zhuān)委會(huì)委員。目前從事數(shù)據(jù)結(jié)構(gòu)與算法、大數(shù)據(jù)分析與處理等方面的教學(xué)工作,以及人工智能、推薦系統(tǒng)方面的科研工作。主持/參與國(guó)家、省部級(jí)科研項(xiàng)目10余項(xiàng),出版《數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言實(shí)現(xiàn))》《數(shù)據(jù)結(jié)構(gòu)與算法詳解》《數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言實(shí)現(xiàn) 微課視頻)》《Python機(jī)器學(xué)習(xí)實(shí)踐》《Python數(shù)據(jù)結(jié)構(gòu)與算法》等多部作品,其中兩部獲批省部級(jí)規(guī)劃教材立項(xiàng)建設(shè)。張亞洲,博士,碩士生導(dǎo)師,主持國(guó)家自然科學(xué)基金1項(xiàng),主持省級(jí)科研項(xiàng)目1項(xiàng),發(fā)表SCI論文10余篇。崔建濤,副教授,出版《計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)實(shí)踐教程》,指導(dǎo)多名學(xué)生參加各類(lèi)競(jìng)賽獲國(guó)家、省級(jí)獎(jiǎng)勵(lì)。李璞,博士,碩士生導(dǎo)師,目前從事Web框架技術(shù)、人工智能方面的教學(xué)工作,以及人工智能方面的科研工作。主持/參與國(guó)家、省部級(jí)科研項(xiàng)目10余項(xiàng),發(fā)表SCI論文多篇。
第1章 數(shù)據(jù)結(jié)構(gòu)概述1.1 為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)1.2 基本概念和術(shù)語(yǔ)1.3 數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)1.3.1 邏輯結(jié)構(gòu)1.3.2 存儲(chǔ)結(jié)構(gòu)1.4 抽象數(shù)據(jù)類(lèi)型及其描述1.4.1 什么是抽象數(shù)據(jù)類(lèi)型1.4.2 抽象數(shù)據(jù)類(lèi)型的描述1.5 算法1.5.1 數(shù)據(jù)結(jié)構(gòu)與算法的關(guān)系1.5.2 什么是算法1.5.3 算法的五大特性1.5.4 算法的描述方式1.6 算法分析1.6.1 算法設(shè)計(jì)的4個(gè)目標(biāo)1.6.2 算法效率評(píng)價(jià)1.6.3 算法時(shí)間復(fù)雜度1.6.4 算法空間復(fù)雜度1.7 學(xué)好數(shù)據(jù)結(jié)構(gòu)的秘訣第2章 數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)2.1 遞歸與非遞歸2.1.1 函數(shù)的遞歸調(diào)用2.1.2 遞歸應(yīng)用舉例2.1.3 迭代與遞歸2.2 指針2.2.1 什么是指針2.2.2 指針變量的間接引用2.2.3 指針與數(shù)組2.2.4 指針函數(shù)與函數(shù)指針2.3 參數(shù)傳遞2.3.1 傳值調(diào)用2.3.2 傳地址調(diào)用2.4 結(jié)構(gòu)體2.4.1 結(jié)構(gòu)體的定義2.4.2 指向結(jié)構(gòu)體的指針2.4.3 用typedef定義數(shù)據(jù)類(lèi)型2.5 小結(jié)第二篇 線性數(shù)據(jù)結(jié)構(gòu)第3章 線性表3.1 線性表的定義及抽象數(shù)據(jù)類(lèi)型3.1.1 線性表的邏輯結(jié)構(gòu)3.1.2 線性表的抽象數(shù)據(jù)類(lèi)型3.2 線性表的順序表示與實(shí)現(xiàn)3.2.1 線性表的順序存儲(chǔ)結(jié)構(gòu)3.2.2 順序表的基本運(yùn)算3.2.3 順序表的實(shí)現(xiàn)算法分析3.2.4 順序表的優(yōu)缺點(diǎn)3.2.5 順序表應(yīng)用舉例3.3 線性表的鏈?zhǔn)奖硎九c實(shí)現(xiàn)3.3.1 單鏈表的存儲(chǔ)結(jié)構(gòu)3.3.2 單鏈表上的基本運(yùn)算3.3.3 單鏈表存儲(chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)的優(yōu)缺點(diǎn)3.3.4 單鏈表應(yīng)用舉例3.4 循環(huán)單鏈表3.5 雙向鏈表3.5.1 雙向鏈表的存儲(chǔ)結(jié)構(gòu)3.5.2 雙向鏈表的插入和刪除操作3.5.3 雙向鏈表應(yīng)用舉例3.6 綜合案例:一元多項(xiàng)式的表示與相加3.6.1 一元多項(xiàng)式的表示3.6.2 一元多項(xiàng)式相加3.7 小結(jié)第4章 棧和隊(duì)列4.1 棧的定義與抽象數(shù)據(jù)類(lèi)型4.1.1 什么是棧4.1.2 棧的抽象數(shù)據(jù)類(lèi)型4.2 棧的順序表示與實(shí)現(xiàn)4.2.1 棧的順序存儲(chǔ)結(jié)構(gòu)4.2.2 順序棧的基本運(yùn)算4.2.3 順序棧應(yīng)用舉例4.3 棧的鏈?zhǔn)奖硎九c實(shí)現(xiàn)4.3.1 棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)4.3.2 鏈棧的基本運(yùn)算4.4 棧與遞歸4.4.1 遞歸4.4.2 消除遞歸4.5 隊(duì)列的定義與抽象數(shù)據(jù)類(lèi)型4.5.1 什么是隊(duì)列4.5.2 隊(duì)列的抽象數(shù)據(jù)類(lèi)型4.6 隊(duì)列的順序存儲(chǔ)及實(shí)現(xiàn)4.6.1 順序循環(huán)隊(duì)列──順序隊(duì)列的表示4.6.2 順序循環(huán)隊(duì)列的基本運(yùn)算4.7 隊(duì)列的鏈?zhǔn)酱鎯?chǔ)及實(shí)現(xiàn)4.7.1 鏈?zhǔn)疥?duì)列的表示4.7.2 鏈?zhǔn)疥?duì)列的基本運(yùn)算4.8 雙端隊(duì)列4.8.1 什么是雙端隊(duì)列4.8.2 雙端隊(duì)列的應(yīng)用4.9 棧與隊(duì)列的典型應(yīng)用4.9.1 求算術(shù)表達(dá)式的值4.9.2 舞伴配對(duì)4.10 小結(jié)第5章 串、數(shù)組與廣義表5.1 串的定義及抽象數(shù)據(jù)類(lèi)型5.1.1 什么是串5.1.2 串的抽象數(shù)據(jù)類(lèi)型5.2 串的存儲(chǔ)表示與實(shí)現(xiàn)5.2.1 串的順序存儲(chǔ)結(jié)構(gòu)及基本運(yùn)算5.2.2 串的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)5.2.3 順序串應(yīng)用舉例5.3 串的模式匹配5.3.1 樸素模式匹配算法Brute-Force5.3.2 KMP算法5.3.3 模式匹配應(yīng)用舉例5.4 數(shù)組的定義及抽象數(shù)據(jù)類(lèi)型5.4.1 重新認(rèn)識(shí)數(shù)組5.4.2 數(shù)組的抽象數(shù)據(jù)類(lèi)型5.4.3 數(shù)組的順序存儲(chǔ)結(jié)構(gòu)5.5 特殊矩陣的壓縮存儲(chǔ)5.5.1 對(duì)稱(chēng)矩陣的壓縮存儲(chǔ)5.5.2 三角矩陣的壓縮存儲(chǔ)5.5.3 對(duì)角矩陣的壓縮存儲(chǔ)5.6 稀疏矩陣的壓縮存儲(chǔ)5.6.1 什么是稀疏矩陣5.6.2 稀疏矩陣抽象數(shù)據(jù)類(lèi)型5.6.3 稀疏矩陣的三元組表示5.6.4 稀疏矩陣的三元組實(shí)現(xiàn)5.6.5 稀疏矩陣應(yīng)用舉例──三元組表示的稀疏矩陣相加5.7 廣義表5.7.1 什么是廣義表5.7.2 廣義表的抽象數(shù)據(jù)類(lèi)型5.7.3 廣義表的頭尾鏈表存儲(chǔ)結(jié)構(gòu)5.7.4 廣義表的擴(kuò)展線性鏈表存儲(chǔ)結(jié)構(gòu)5.8 小結(jié)第三篇 非線性數(shù)據(jù)結(jié)構(gòu)第6章 樹(shù)6.1 樹(shù)的相關(guān)概念及抽象數(shù)據(jù)類(lèi)型6.1.1 什么是樹(shù)6.1.2 樹(shù)的相關(guān)概念6.1.3 樹(shù)的邏輯表示6.1.4 樹(shù)的存儲(chǔ)結(jié)構(gòu)6.2 二叉樹(shù)的相關(guān)概念及抽象數(shù)據(jù)類(lèi)型6.2.1 什么是二叉樹(shù)6.2.2 二叉樹(shù)的性質(zhì)6.2.3 二叉樹(shù)的抽象數(shù)據(jù)類(lèi)型6.2.4 二叉樹(shù)的存儲(chǔ)表示與實(shí)現(xiàn)6.3 遍歷二叉樹(shù)6.3.1 什么是遍歷二叉樹(shù)6.3.2 二叉樹(shù)的先序遍歷6.3.3 二叉樹(shù)的中序遍歷6.3.4 二叉樹(shù)的后序遍歷6.4 遍歷二叉樹(shù)的應(yīng)用6.4.1 按層次輸出二叉樹(shù)6.4.2 二叉樹(shù)的計(jì)數(shù)6.4.3 求葉子結(jié)點(diǎn)的最大最小枝長(zhǎng)6.4.4 判斷兩棵二叉樹(shù)是否相似6.4.5 交換二叉樹(shù)的左右子樹(shù)6.4.6 求根結(jié)點(diǎn)到r結(jié)點(diǎn)之間的路徑6.5 線索二叉樹(shù)6.5.1 什么是線索化二叉樹(shù)6.5.2 線索二叉樹(shù)6.5.3 遍歷線索二叉樹(shù)6.6 樹(shù)、森林與二叉樹(shù)6.6.1 樹(shù)轉(zhuǎn)換為二叉樹(shù)6.6.2 森林轉(zhuǎn)換為二叉樹(shù)6.6.3 二叉樹(shù)轉(zhuǎn)換為樹(shù)和森林6.6.4 樹(shù)和森林的遍歷6.6.5 樹(shù)與二叉樹(shù)應(yīng)用舉例6.7 綜合案例:哈夫曼樹(shù)6.7.1 什么是哈夫曼樹(shù)6.7.2 哈夫曼編碼6.7.3 哈夫曼編碼算法的實(shí)現(xiàn)6.8 小結(jié)第7章 圖7.1 圖的定義與相關(guān)概念7.1.1 什么是圖7.1.2 圖的相關(guān)概念7.1.3 圖的抽象數(shù)據(jù)類(lèi)型7.2 圖的存儲(chǔ)結(jié)構(gòu)7.2.1 鄰接矩陣(數(shù)組表示法)7.2.2 鄰接表7.2.3 十字鏈表7.2.4 鄰接多重鏈表7.3 圖的遍歷7.3.1 圖的深度優(yōu)先搜索7.3.2 圖的廣度優(yōu)先搜索7.4 圖的連通性問(wèn)題7.4.1 無(wú)向圖的連通分量與最小生成樹(shù)7.4.2 最小生成樹(shù)7.5 有向無(wú)環(huán)圖7.5.1 AOV網(wǎng)與拓?fù)渑判?br />7.5.2 AOE網(wǎng)與關(guān)鍵路徑7.6 最短路徑7.6.1 從某個(gè)頂點(diǎn)到其余各頂點(diǎn)的最短路徑7.6.2 每一對(duì)頂點(diǎn)之間的最短路徑7.6.3 最短路徑應(yīng)用舉例7.7 圖的應(yīng)用舉例7.8 小結(jié)第四篇 常用算法第8章 查找8.1 基本概念8.2 靜態(tài)查找8.2.1 順序表的查找8.2.2 有序順序表的查找8.2.3 索引順序表的查找8.3 動(dòng)態(tài)查找8.3.1 二叉排序樹(shù)8.3.2 平衡二叉樹(shù)8.4 B-樹(shù)與B 樹(shù)8.4.1 B-樹(shù)8.4.2 B 樹(shù)8.5 哈希表8.5.1 什么是哈希表8.5.2 哈希函數(shù)的構(gòu)造方法8.5.3 處理沖突的方法8.5.4 哈希表應(yīng)用舉例8.6 小結(jié)第9章 排序9.1 基本概念9.2 插入排序9.2.1 直接插入排序9.2.2 折半插入排序9.2.3 希爾排序9.2.4 插入排序應(yīng)用舉例9.3 交換排序9.3.1 冒泡排序9.3.2 快速排序9.3.3 交換排序應(yīng)用舉例9.4 選擇排序9.4.1 簡(jiǎn)單選擇排序9.4.2 堆排序9.4.3 選擇排序應(yīng)用舉例9.5 歸并排序9.6 基數(shù)排序9.6.1 基數(shù)排序算法9.6.2 基數(shù)排序應(yīng)用舉例9.7 小結(jié)第10章 回溯算法10.1 和式分解10.2 填字游戲10.3 裝載問(wèn)題10.4 迷宮問(wèn)題第11章 貪心算法11.1 找零錢(qián)問(wèn)題11.2 哈夫曼編碼11.3 加油站問(wèn)題第12章 分治算法12.1 最大子序列和問(wèn)題12.2 求x的n次冪12.3 眾數(shù)問(wèn)題12.4 求n個(gè)數(shù)中的最大者和最小者12.5 整數(shù)劃分問(wèn)題12.6 大整數(shù)乘法第13章 實(shí)用算法13.1 大小寫(xiě)金額轉(zhuǎn)換13.2 將15位身份證號(hào)轉(zhuǎn)換為18位13.3 微信搶紅包問(wèn)題13.4 一元多項(xiàng)式的乘法13.5 大整數(shù)乘法參考文獻(xiàn)