軟件設(shè)計(jì)師考試7(重點(diǎn))-數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)

一泳赋、數(shù)組

a+(5*2+3)*2 = a+26

稀疏矩陣:矩陣中大部分元素都是0

解題技巧:代入法(記公式太難!;憧纭N窬!)

答案:A

二、數(shù)據(jù)結(jié)構(gòu)

計(jì)算機(jī)存儲(chǔ)和組織數(shù)據(jù)的方式穷遂。

非線性結(jié)構(gòu):樹(shù)函匕,圖(有環(huán)路)

(1)線性表

單向鏈表刪除元素a2:p->next = (a3) = q->next

單向鏈表插入x,a1與a2之間:s->next = (a2) = p->next蚪黑,p->next = s

雙向鏈表原理相同盅惜,只是操作兩套指針。

順序存儲(chǔ)與鏈?zhǔn)酱鎯?chǔ)對(duì)比:

存儲(chǔ)密度:包括存儲(chǔ)頭節(jié)點(diǎn)指針與數(shù)據(jù)祠锣,比如一個(gè)元素?cái)?shù)據(jù)大小為2酷窥,可能整個(gè)鏈元素大小為3~4。

隊(duì)列和棧

隊(duì)列:先進(jìn)先出

:先進(jìn)后出

循環(huán)隊(duì)列:隊(duì)列頭尾相接伴网,存入一個(gè)元素尾指針向后移一位,刪除一個(gè)元素頭指針向后移動(dòng)一位妆棒。缺點(diǎn):隊(duì)空和隊(duì)滿都是頭尾指針指在一起澡腾,解決:少存一個(gè)元素,可以清晰判斷尾指針+1就是頭指針糕珊,表示隊(duì)滿动分。

練習(xí)答案:

D

(2)廣義表

長(zhǎng)度:最外層元素個(gè)數(shù)

深度:層數(shù)

表頭:最外層第一個(gè)元素

表尾:除了表頭之外的所有元素組成的廣義表

例2答案:

tail(LS1) --> ((b,c),(d,e))

head(tail(LS1)) --> (b,c)

head( head ( tail(LS1) ) ) --> b

(3) 樹(shù)與二叉樹(shù)


節(jié)點(diǎn)的度:一個(gè)節(jié)點(diǎn)擁有的孩子節(jié)點(diǎn)數(shù),如節(jié)點(diǎn)1的度為 2红选,節(jié)點(diǎn)7為0澜公;

樹(shù)的度:所有節(jié)點(diǎn)度數(shù)最高值;

葉子節(jié)點(diǎn):4喇肋,5坟乾,7,8沒(méi)有孩子節(jié)點(diǎn)

分支節(jié)點(diǎn):有分支

內(nèi)部節(jié)點(diǎn):夾在中間蝶防,2甚侣,3,6

兄弟節(jié)點(diǎn):同父親间学,平級(jí)殷费,如4印荔,5

層次:

層次遍歷:1,2详羡,3仍律,4,5实柠,6水泉,7,8

前序:根-左-右:1-2-4-5-7-8--3-6

中序:左-根-右:4-2-7-8-5-1-3-6

后序:左-右-根:4-8-7-5-2-6-3-1

普通數(shù)轉(zhuǎn)二叉樹(shù)

連線法:兄弟節(jié)點(diǎn)連接起來(lái)主到,有多個(gè)孩子的只保留左邊第一個(gè)那條線

查找(排序)二叉樹(shù):左孩子節(jié)點(diǎn)均小于根茶行,右孩子節(jié)點(diǎn)均大于根

哈夫曼樹(shù):無(wú)損壓縮方式,構(gòu)造樹(shù)的帶權(quán)路徑長(zhǎng)度最小登钥。

權(quán):元素內(nèi)值

帶權(quán)路徑長(zhǎng)度:

空閑的資源利用起來(lái)畔师,方便遍歷。

平衡二叉樹(shù):提高查找效率牧牢,每個(gè)節(jié)點(diǎn)的平衡度只能為1看锉,0,-1塔鳍。

平衡度:左右兩孩子節(jié)點(diǎn)的深度差伯铣。



(4)圖

矩陣大小取決于節(jié)點(diǎn)數(shù)量n,矩陣為n*n

鄰接表:數(shù)組記錄可達(dá)節(jié)點(diǎn)及距離轮纫,鏈表存儲(chǔ)

沒(méi)有被箭頭指腔寡,表示不受約束。

掌握拓?fù)渑判虻牧鞒?/b>

圖的最小生成樹(shù):把圖節(jié)點(diǎn)間的連線去掉掌唾,用最少量線把所有節(jié)點(diǎn)連接起來(lái)放前,使得代價(jià)總和最小。

普里姆算法:從任意一個(gè)節(jié)點(diǎn)出發(fā)糯彬,并設(shè)這個(gè)節(jié)點(diǎn)為紅點(diǎn)集凭语,其余為藍(lán)點(diǎn)集,選擇該節(jié)點(diǎn)距離最近的點(diǎn)連接起來(lái)撩扒,并將該節(jié)點(diǎn)納入紅點(diǎn)集

注意:選的邊不能形成環(huán)

克魯斯卡爾算法:從最短邊選起似扔,依次選取短邊,除去形成環(huán)的邊搓谆。

(5)算法基礎(chǔ)

重點(diǎn):時(shí)間復(fù)雜度炒辉,分析算法的時(shí)間復(fù)雜度

所有常數(shù)級(jí)的復(fù)雜度都用 O(1) 表示;

循環(huán)n次挽拔,時(shí)間復(fù)雜度O(n);

log2(n) 是二叉樹(shù)查找辆脸,有n個(gè)節(jié)點(diǎn),最多查找的時(shí)間復(fù)雜度

限制:鍵值有序排列

散列表:按內(nèi)容查詢

線性探測(cè)法:

偽隨機(jī)數(shù)法:

(6)排序

希爾排序先大致調(diào)整排序螃诅,再梳理啡氢,效率高于直接插入排序

堆排序:先建堆状囱,取走根節(jié)點(diǎn),再重建堆倘是,再取走根節(jié)點(diǎn)....

冒泡排序:后面(底部)的往前冒亭枷,注意下標(biāo)的范圍變化

快速排序:選定基準(zhǔn),小于基準(zhǔn)的放基準(zhǔn)前面搀崭,大于基準(zhǔn)的放基準(zhǔn)后面叨粘,將原數(shù)列分成了兩個(gè)小數(shù)列。再對(duì)小數(shù)列用遞歸的方法瘤睹,就可繼續(xù)拆分升敲。

歸并排序:分組不斷合并

基數(shù)排序:先按個(gè)位收集排序,再按十位收集排序轰传,再按百位收集排序...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末驴党,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子获茬,更是在濱河造成了極大的恐慌港庄,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恕曲,死亡現(xiàn)場(chǎng)離奇詭異鹏氧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)佩谣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門把还,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人茸俭,你說(shuō)我怎么就攤上這事笨篷。” “怎么了瓣履?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)练俐。 經(jīng)常有香客問(wèn)我袖迎,道長(zhǎng),這世上最難降的妖魔是什么腺晾? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任燕锥,我火速辦了婚禮,結(jié)果婚禮上悯蝉,老公的妹妹穿的比我還像新娘归形。我一直安慰自己,他們只是感情好鼻由,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布暇榴。 她就那樣靜靜地躺著厚棵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蔼紧。 梳的紋絲不亂的頭發(fā)上婆硬,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音奸例,去河邊找鬼彬犯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛查吊,可吹牛的內(nèi)容都是我干的谐区。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼逻卖,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼宋列!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起箭阶,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤虚茶,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后仇参,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體嘹叫,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年诈乒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了罩扇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡怕磨,死狀恐怖喂饥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情肠鲫,我是刑警寧澤员帮,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站导饲,受9級(jí)特大地震影響捞高,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜渣锦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一硝岗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧袋毙,春花似錦型檀、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)裂七。三九已至,卻和暖如春月幌,著一層夾襖步出監(jiān)牢的瞬間碍讯,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工扯躺, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留捉兴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓录语,卻偏偏與公主長(zhǎng)得像倍啥,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子澎埠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容