程序基础:数据结构(郝斌讲解)(一)
開(kāi)始寫(xiě)博客,目標(biāo)一周一個(gè)項(xiàng)目總結(jié),可能是一個(gè)具體的問(wèn)題的求解方法,也可能是一周的學(xué)習(xí)筆記,還可能是一個(gè)算法的實(shí)現(xiàn)。
從2013年開(kāi)始補(bǔ)起來(lái)
本周學(xué)習(xí)重點(diǎn)
數(shù)據(jù)結(jié)構(gòu)
什么是數(shù)據(jù)結(jié)構(gòu)?
數(shù)據(jù)結(jié)構(gòu)概述:數(shù)據(jù)結(jié)構(gòu),簡(jiǎn)單的說(shuō)是怎么把數(shù)據(jù)存在電腦里方便我們處理
1定義
書(shū)籍作者:嚴(yán)蔚明,吳偉民,高一凡,黃國(guó)瑜。
數(shù)據(jù)結(jié)構(gòu)定義:
將現(xiàn)實(shí)中大量復(fù)雜的問(wèn)題以特定的數(shù)據(jù)類(lèi)型和特定存儲(chǔ)結(jié)構(gòu)保存到我們的
主存儲(chǔ)器中 ,以及在此基礎(chǔ)上為實(shí)現(xiàn)某個(gè)功能而執(zhí)行相應(yīng)的操作,這個(gè)相應(yīng)的操作也叫算法。
數(shù)據(jù)的存儲(chǔ)是很關(guān)鍵的問(wèn)題,一個(gè)大的數(shù)據(jù)最好用鏈表。
通過(guò)計(jì)算機(jī)解決一個(gè)實(shí)際問(wèn)題,將一個(gè)復(fù)雜的問(wèn)題,
存儲(chǔ)到計(jì)算機(jī)中去。如何保存?zhèn)€體,如何保存?zhèn)€體與個(gè)體的屬性
屬性實(shí)體,如何保存。
數(shù)據(jù)結(jié)構(gòu)=個(gè)體+個(gè)體的關(guān)系
算法=對(duì)存儲(chǔ)數(shù)據(jù)的操作。
從廣義上講,算法與數(shù)據(jù)沒(méi)關(guān)系,
狹義 有關(guān)系,泛型。
數(shù)組,圖,
每個(gè)元素拿出來(lái)。
操作依賴(lài)于存儲(chǔ)結(jié)構(gòu)。
2算法
預(yù)備知識(shí)
模塊一:
一線性結(jié)構(gòu):
2.1連續(xù)存儲(chǔ)數(shù)組,離散存儲(chǔ)鏈表。
2.2線性結(jié)構(gòu)的兩種常見(jiàn)應(yīng)用之一——棧,隊(duì)列。
專(zhuān)題:遞歸。
1.1+2+3,求階乘,漢諾塔,走迷宮。
二非線性結(jié)構(gòu)
1樹(shù),
2圖。
三查找和排序
折半和排序:冒泡,插入,選擇,快速,歸并。
Java中容器和數(shù)據(jù)結(jié)構(gòu)相關(guān)知識(shí)。
Iterator 借口,map,哈希表。
2衡量算法的標(biāo)準(zhǔn),解題方法和步驟。
2.1時(shí)間復(fù)雜度
大概程序要運(yùn)行的次數(shù),程序速度快。
2.2空間復(fù)雜度
算法運(yùn)行過(guò)程中大概所占用的最大內(nèi)存2.3易讀性
別人能不能很清晰的看懂你的程序。
2.4健壯性
識(shí)別非法輸入。
三
數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)
數(shù)據(jù)結(jié)構(gòu)是軟件中最核心的課程。
棧內(nèi)存與堆內(nèi)存的區(qū)別,內(nèi)存分配方法的不同。
語(yǔ)法是語(yǔ)句的樹(shù)。
數(shù)據(jù)庫(kù)和數(shù)據(jù)結(jié)構(gòu)的差別。
數(shù)據(jù)庫(kù)簡(jiǎn)化版。
數(shù)據(jù)的存儲(chǔ)問(wèn)題,字段,記錄,表。
實(shí)物與實(shí)物的關(guān)系。
學(xué)了以后和沒(méi)學(xué)沒(méi)什么區(qū)別。
程序=數(shù)據(jù)的存儲(chǔ)+數(shù)據(jù)的操作+可以被計(jì)算機(jī)執(zhí)行的語(yǔ)言
預(yù)備知識(shí)。
數(shù)據(jù)結(jié)構(gòu)
很重要,難度很大,但沒(méi)啥具體用處。
四
數(shù)據(jù)結(jié)構(gòu)的學(xué)法:
1 寫(xiě)偽代碼。
2 通過(guò)一個(gè)語(yǔ)言去實(shí)現(xiàn)你的偽代碼。
高深的圖算法,鏈表是前提。
C語(yǔ)言指針講的少。
指針,結(jié)構(gòu)體,動(dòng)態(tài)內(nèi)存的分配和釋放。
線性鏈表。
鏈表的基本操作。
看這個(gè)很難,但看懂后會(huì)有種,自我挑戰(zhàn)的快感。
爭(zhēng)取了解指針的一部分。
總結(jié)
以上是生活随笔為你收集整理的程序基础:数据结构(郝斌讲解)(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: nio和bio的原理_Java的BIO,
- 下一篇: 进程管理程序java,运维经验分享(四)