首頁 - 網(wǎng)校 - 萬題庫 - 美好明天 - 直播 - 導(dǎo)航
熱點(diǎn)搜索
學(xué)員登錄 | 用戶名
密碼
新學(xué)員
老學(xué)員
您現(xiàn)在的位置: 考試吧 >> 考研 >> 專業(yè)試題 >> 浙江 >> 正文

浙江大學(xué)計(jì)算機(jī)專業(yè)課輔導(dǎo)班筆記


計(jì)算機(jī)組成復(fù)習(xí)提綱

1.計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu),核心層為硬件->系統(tǒng)->外層應(yīng)用軟件
2.軟件系統(tǒng)的分類:系統(tǒng)軟件和應(yīng)用軟件.
系統(tǒng)軟件:編譯、os、匯編、應(yīng)用軟件:edit,cad…
3.計(jì)算機(jī)硬件組成:alu(數(shù)據(jù)通路datapath)、存儲器、控制器、輸入、輸出
數(shù)據(jù)通道和控制器稱為cpu或processor
4.機(jī)器指令格式及其分類
分類:算術(shù)運(yùn)算指令、訪問存儲器指令(傳送)、轉(zhuǎn)移指令、移位指令、輸入、輸出指令
格式:無址
三地址
mips指令:三地址與二地址
5.用匯編指令進(jìn)行程序設(shè)計(jì)
g=h+A[i]  #寄存器分配
add $t1,$s4,$s4  #i->$s4,i*2->$t1
add $t1,$t1,$t1  #i*4->$t1
add $t1,$t1,$s3  #$s3為A數(shù)組首址,$t1為A[i]的地址
lw $t0,0($t1)  #$t0=A[i]的值
add $s1,$s2,$t0  #g=$s1=h+A[i]
詳見英文書p114
循環(huán)程序練習(xí):轉(zhuǎn)移指令應(yīng)用  p126
loop:g=g+A[i];
i=i+j;
if(i!=h) goto loop;
(bne $s3,$s2,loop用法)
while(SAVE[i]==k)  P127
i=i+j;
    (j loop用法)
case/switch statement P129
switch(k){//其中k取0,1,2,3
case 0:f=i+j;break;
case 1:f=g+h;break;
case 2:f=g-h;break;
case 3:f=i-j;break;
}
用beq,jr,j等指令給編寫,開關(guān)語句要用匯編指令設(shè)計(jì)、編寫,需要一張?zhí)D(zhuǎn)表
k*4+首址(跳轉(zhuǎn)表)
從表中取出跳轉(zhuǎn)表地址
6.尋址方式
lw $t1,0($t2)  #基地址尋址
add $t1,$t2,$t3 #寄存器尋址
addi $t1,$t2,100b #立即
beq $t1,$t2,l1 #pc相對尋址
j mm  #j型尋址,相當(dāng)于直接存儲尋址
jr $t  #寄存器尋址
重點(diǎn)掌握尋址方式、常用指令用于循環(huán)、當(dāng)循環(huán)和開關(guān)語句匯編程序編程方法


計(jì)算機(jī)組成復(fù)習(xí)提綱

1.計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu),核心層為硬件->系統(tǒng)->外層應(yīng)用軟件
2.軟件系統(tǒng)的分類:系統(tǒng)軟件和應(yīng)用軟件.
系統(tǒng)軟件:編譯、os、匯編、應(yīng)用軟件:edit,cad…
3.計(jì)算機(jī)硬件組成:alu(數(shù)據(jù)通路datapath)、存儲器、控制器、輸入、輸出
數(shù)據(jù)通道和控制器稱為cpu或processor
4.機(jī)器指令格式及其分類
分類:算術(shù)運(yùn)算指令、訪問存儲器指令(傳送)、轉(zhuǎn)移指令、移位指令、輸入、輸出指令
格式:無址
三地址
mips指令:三地址與二地址
5.用匯編指令進(jìn)行程序設(shè)計(jì)
g=h+A[i]  #寄存器分配
add $t1,$s4,$s4  #i->$s4,i*2->$t1
add $t1,$t1,$t1  #i*4->$t1
add $t1,$t1,$s3  #$s3為A數(shù)組首址,$t1為A[i]的地址
lw $t0,0($t1)  #$t0=A[i]的值
add $s1,$s2,$t0  #g=$s1=h+A[i]
詳見英文書p114
循環(huán)程序練習(xí):轉(zhuǎn)移指令應(yīng)用  p126
loop:g=g+A[i];
i=i+j;
if(i!=h) goto loop;
(bne $s3,$s2,loop用法)
while(SAVE[i]==k)  P127
i=i+j;
    (j loop用法)
case/switch statement P129
switch(k){//其中k取0,1,2,3
case 0:f=i+j;break;
case 1:f=g+h;break;
case 2:f=g-h;break;
case 3:f=i-j;break;
}
用beq,jr,j等指令給編寫,開關(guān)語句要用匯編指令設(shè)計(jì)、編寫,需要一張?zhí)D(zhuǎn)表
k*4+首址(跳轉(zhuǎn)表)
從表中取出跳轉(zhuǎn)表地址
6.尋址方式
lw $t1,0($t2)  #基地址尋址
add $t1,$t2,$t3 #寄存器尋址
addi $t1,$t2,100b #立即
beq $t1,$t2,l1 #pc相對尋址
j mm  #j型尋址,相當(dāng)于直接存儲尋址
jr $t  #寄存器尋址
重點(diǎn)掌握尋址方式、常用指令用于循環(huán)、當(dāng)循環(huán)和開關(guān)語句匯編程序編程方法

7.?dāng)?shù)組與指令+編程設(shè)計(jì)(了解編程方法) P174

基于MIPS架構(gòu)CPU及指令設(shè)計(jì)不要求

8.機(jī)器數(shù)的表示,補(bǔ)碼,原碼和標(biāo)準(zhǔn)的浮點(diǎn)數(shù)表示及運(yùn)算

重點(diǎn)掌握串行加法、并行進(jìn)行加法的設(shè)計(jì),及進(jìn)位時(shí)間的計(jì)算,并行進(jìn)位鏈及串行進(jìn)位的電路的設(shè)計(jì)方法,補(bǔ)碼,浮點(diǎn)數(shù)表示(IE754標(biāo)準(zhǔn))
原碼乘法器(除法器)補(bǔ)碼的設(shè)計(jì)原理及原理及邏輯框圖設(shè)計(jì)
補(bǔ)碼乘法,一位Booth’s P259,P257,加減交替法
IEEE 754標(biāo)準(zhǔn):
  e=E-127  e:真值 E:機(jī)器表示(移碼)
 

    1  8    23
  E用移碼表示,其中1位符號位
  (-1)S×(1+Significant)×2E
  |M|=0.1XX......

9.掌握多時(shí)鐘周期計(jì)算機(jī)數(shù)據(jù)通路的結(jié)構(gòu),掌握指令執(zhí)行過程(能畫出指令執(zhí)行的狀態(tài)轉(zhuǎn)換圖)
了解位程序的設(shè)計(jì)方法和基本工作原理

10.存儲系統(tǒng)的體系結(jié)構(gòu),多級存儲系統(tǒng)Cache----直接地址映射或組相聯(lián)地址映射,全相聯(lián)地址映射,地址映射的原理設(shè)計(jì)

虛擬地址、實(shí)地址、頁表、頁表寄存器,含義必須搞清楚,能計(jì)算頁表容量=頁表單元數(shù)×(標(biāo)志位+實(shí)頁號位長)
虛頁號數(shù)=虛擬地址-頁內(nèi)地址 P545-549,P569-570
缺頁中斷、命中、失效,寫通,回寫術(shù)語概念
重點(diǎn)掌握抵制變換結(jié)構(gòu)的工作原理,變換邏輯設(shè)計(jì)及給定虛地址,主存容量,頁面大小,能計(jì)算,頁表單元數(shù),實(shí)頁號長度,實(shí)地址位數(shù)及尋找到的實(shí)頁號
段表不要求

11.I/O系統(tǒng)

磁盤系統(tǒng),平均旋轉(zhuǎn)時(shí)間,平均尋道時(shí)間
記錄格式,地址表示:頭號(頁號),道號,扇區(qū)號
串行接口,并行接口(按位寬傳輸分)
中斷分類,中斷處理過程,中斷請求,中斷響應(yīng),中斷處理,中斷返回,中斷屏蔽,開/關(guān)中斷概念,多重中斷
英文版P647-649
按控制方式分:
程序控制查詢接口
程序控制中斷方式,軟件排隊(duì)找中斷源,矢量中斷找中斷源
DMA 直接存儲器接口訪問控制
通道 接口編址方式:單獨(dú)編址方式(存儲器統(tǒng)一編址)
重點(diǎn)掌握:向量中斷,中斷響應(yīng),執(zhí)行中斷隱指令,中斷處理,中斷返回等詳細(xì)過程
英文版:第8章
王愛英:P332,P338  338-343
中斷隱指令
題型:名詞解釋,計(jì)算題,若需要也可畫圖,編程(總分不少于30分)

友情提示:
Computer Organization&Design The Hardware/Software Interface(2th Edition)機(jī)械工業(yè)出版社  ,即為文中所指英文版,為本校教學(xué)用書。
復(fù)習(xí)時(shí)應(yīng)該以英文版為主,再輔以其它中文參考書即可,另請參考往年試題。

操作系統(tǒng)原理復(fù)習(xí)(40分,選擇題與主觀題)

linux系統(tǒng)可作為實(shí)例分析

進(jìn)程管理、存儲管理、文件管理

第一部分:1 操作系統(tǒng)的概念

resource  management (cpu,memory,i/o derice)資源管理
control of programme execution (schedule,dispatch,etc.)程序控制
user interface (system call,shell,gui)用戶接口
選擇題可考
  2 os發(fā)展
simple batch system
  系統(tǒng)逐個運(yùn)行作業(yè)(job),但操作員可以成批提交
multi-pregramme batch system
  系統(tǒng)中存在多個作業(yè),需要進(jìn)行作業(yè)調(diào)度
time-sharing system (windows,unix,linux etc.)
  各用戶能分享計(jì)算機(jī)資源
  強(qiáng)調(diào)公平性(faimess)
  系統(tǒng)設(shè)計(jì)的主要目標(biāo):①縮短響應(yīng)時(shí)間(response time);
       ②提高吞吐量   (throughout);
可考選擇題
real-time system
  滿足應(yīng)用的實(shí)時(shí)性要求 (有的系統(tǒng)取消虛存來提高速度)
distributed system,embeded system
  (兩頭發(fā)展,一頭大,一頭小)
  3  os的典型體系結(jié)構(gòu)
monolithic(整體結(jié)構(gòu),單塊結(jié)構(gòu)) :dos
layerd(層次結(jié)構(gòu))
micro-kernel(微內(nèi)核結(jié)構(gòu)) ㈠優(yōu)點(diǎn):1:擴(kuò)充性好     
          2:內(nèi)核子
        3:不容易崩潰

      ㈡缺點(diǎn):1:有可能速度偏慢
        2:設(shè)計(jì)有困難
module 結(jié)構(gòu)來克服linux 單塊結(jié)構(gòu)的弊端
4 現(xiàn)代操作系統(tǒng)
micro-kernel
multi-threading
multi-processor support
distributed os support
object-oriented desigh
virtual machine(如在windows上做linnx 的虛擬機(jī))
real-time characteristics (solaris做的較好)
這些特點(diǎn)愈加明顯,

5 操作系統(tǒng)的硬件支持
inside cpu:register,MMU,cache
interrupt
DMA
cache

第二部分 進(jìn)程管理

進(jìn)程
process-a programme in execution(并不意味著一個占用cpu在執(zhí)行)
如:text section,data section,stack,current actirity.
進(jìn)程是動態(tài)的。有生命的。主動的
進(jìn)程是os 中資源擁有的基本單位(unit of responce ownership)
虛地址空間,內(nèi)有及其他資源(i/o設(shè)備。文件等)
進(jìn)程控制塊(pcb)的管理:各種隊(duì)列
如linnx用鏈?zhǔn)疥?duì)列
進(jìn)程的狀態(tài)
如:running,ready,wait,  stopped,  swapped,           zombie
             ( 暫停)(一部分或全部調(diào)出)(僵死,進(jìn)程執(zhí)行完了,但
pcb還存在,進(jìn)程還沒消亡)狀態(tài)遷移圖
線程(thread)
線程式是調(diào)度的基本單位(unit of dispatching)
進(jìn)程中的線程共享進(jìn)程資源,但擁有私有堆棧及線程控制塊(tcb,存儲寄存器值,優(yōu)先級及其他線程狀態(tài)信息)
①用戶級線程(ult:user-level thread)
用戶自己管理,但操作系統(tǒng)提供一個庫(library) 幫助,這個進(jìn)程跟操作沒關(guān),os 不知道       不一定操作系統(tǒng)給,可自己寫
操作系統(tǒng)調(diào)度的單位是進(jìn)程,但如一個線程阻塞則整個阻塞 ,無法用多處理器
eg :posix thread (pthread)
②核心級線程
應(yīng)用程序通過api調(diào)用核心線程管理例程(kernel thread facility) 來管理
          需要進(jìn)行模式切換
需os 調(diào)度的基本單位(不同線程式可以在多處理上運(yùn)行,一個阻塞不會導(dǎo)致整個進(jìn)程阻塞)         
eg:windows thread
并發(fā)控制:互斥與同步
臨界資源(critical resource)
一次只能有一個進(jìn)程訪問的資源
臨界區(qū)(critical section)
訪問臨界資源的代碼段(cs)
在一個時(shí)刻只有一個進(jìn)程在臨界區(qū),為了保證只有一個進(jìn)程在訪問臨界資源
互斥(mutual exclusicn)
在一個時(shí)刻最多一個進(jìn)程在臨界
同步
協(xié)調(diào)需要訪問臨界資源的進(jìn)程,否則會導(dǎo)致race condition(競爭條件)
例:p0,p1習(xí)題課后
最大值?最小值? 。玻保埃
two processes=p0,p1
shared variable int talty:=0
p0p1

臨界區(qū)
①兩個前提:
  a.對處理器及各進(jìn)程的相對速度(不會是的速度)不應(yīng)有任何假設(shè);
  b.進(jìn)程在臨界區(qū)停留時(shí)間有限
②三個必須:
互斥(mutual exclusion)
有空讓進(jìn):若沒有進(jìn)程在臨界區(qū),則應(yīng)該讓申請進(jìn)入臨界區(qū)的進(jìn)程中的一個立即進(jìn)入
有限等待(bounded waiting):申請進(jìn)入臨界區(qū)的進(jìn)程不會無止境的等待(即不會有饑餓現(xiàn)象)

1.軟件方法

、倮赫n后習(xí)題
shared variables
  boolean flag[2];//初始flase
  int turn;//初始化0
Process Pi
  do{
   flag[i]=true;
   while(turn≠i)
    {while(flag[j]);
      turn=i;
     }
  
   flag[i]=false;
  
}while(1)
此算法正確嗎?
  不能保證互斥
②Dekker算法:算法不直觀,只能解決二個進(jìn)程問題
 Peterson算法:直觀,只能解決二個進(jìn)程問題
 Backery算法(面包房算法)

2.利用硬件支持
 中斷屏蔽:代價(jià)大,無法做到程序的交*執(zhí)行;多處理機(jī)無法實(shí)現(xiàn)
特殊機(jī)器指令
  Test and Set instruction
Exchange instruction
優(yōu)點(diǎn):適合多處理器環(huán)境、簡單
缺點(diǎn):必須忙等待,可能導(dǎo)致餓死

3.信號量

①數(shù)據(jù)結(jié)構(gòu)
Count integer:>=0,表示可用資源數(shù)
      <=0,絕對值表示掛起的起程數(shù),初始化非負(fù)
②操作(是原語primitive)
wait(s) (即P):等待資源
siginal(s) (即V):釋放資源
③二元信號量
不能判斷有沒有掛起進(jìn)程
④producer consumer problem
緩沖區(qū)無限
緩沖區(qū)有限 wait操作肯定不能換
 生產(chǎn)者消費(fèi)者變換:寫滿時(shí)才能讀,如何實(shí)現(xiàn)?

四、并發(fā)控制:死鎖問題

死鎖(deadlock)
系統(tǒng)存在一個進(jìn)程集合,該集合中的每個進(jìn)程都在等待被集合中的其它進(jìn)程占用的資源
死鎖發(fā)生的4個必要條件
①互斥(mutual exclusion)
②保持等待(hold and wait):保持等待,申請資源時(shí)擁有其他資源
③No preemption(非剝奪)
④Circular wait(循環(huán)等待):若各類資源數(shù)均為1,一定死鎖
dead lock prevention 死鎖預(yù)防
間接預(yù)防:阻止Mutual exclusion,Hold and wait及No preemption都滿足
直接預(yù)防:阻止Circular waut的發(fā)生
一種可行的方法:有序申請法(對所有資源類別編號,進(jìn)程申請按序進(jìn)行)
例:哲學(xué)家就餐問題,筷子編號,先拿編號小的,再滿足大的 
dead lock avoidance死鎖避免
進(jìn)程申請資源時(shí),決定是否應(yīng)該滿足
必須預(yù)先知道每個進(jìn)程需要的各類資源數(shù)
銀行家算法:若新的狀態(tài)是安全的,則滿足它
Safe State:從此狀態(tài)出發(fā),存在某種執(zhí)行序列(安全序列),可以使所有進(jìn)程執(zhí)行完畢,不安全狀態(tài)不一定導(dǎo)致死鎖。
Dead lock Detection 死鎖檢測
已知目前各進(jìn)程占用資源數(shù)和申請資源數(shù),判斷當(dāng)前是否發(fā)生死鎖,方法是給每個進(jìn)程做標(biāo)記(mark)

五、進(jìn)程調(diào)度(CPU Scheduling)

1.調(diào)度準(zhǔn)則

用戶角度:
①響應(yīng)時(shí)間
②周轉(zhuǎn)時(shí)間
系統(tǒng)角度:
①CPU利用率
②公平性
③吞吐量

2.調(diào)度模式

①Non-preemptive 非剝奪
  進(jìn)程一旦被調(diào)度,則執(zhí)行至結(jié)束或不能繼續(xù)執(zhí)行(如因發(fā)起I/O操作而等待)
②preemptive 可剝奪
3.調(diào)度算法(了解一下剝奪非剝奪的)
①FCFS:先來先服務(wù),直到結(jié)束(非剝奪)
②RR:Round Robin(除了它,其它的都基于優(yōu)先級)
③SPN:最短作業(yè)優(yōu)先,shortest process next
  如沒有給出時(shí)間,則要預(yù)測執(zhí)行時(shí)間,如指數(shù)平均法
④SRN:最短時(shí)間優(yōu)先 shortest remaining next
⑤HRRT:最高響應(yīng)比優(yōu)先
⑥FeedBack::反饋調(diào)度
⑦Fair-share scheduling 公平調(diào)度(Unix系統(tǒng)中)
a.多用戶系統(tǒng)中,用戶分組,每個組公平地享有CPU   preemptive
b.進(jìn)程數(shù)多的組,各進(jìn)程享有CPU的時(shí)間相對較少


第三部分 存儲管理

1.基礎(chǔ)知識

①各種基本概念
②MMU
      CPU Package

      CPU   MMU


邏輯地址變換為物理地址

2.連續(xù)存儲分配:分區(qū)(Partition)

按內(nèi)存分為若干分區(qū),每個分區(qū)一個進(jìn)程,以支持多道程序
......

3.分頁(paging)

硬件支持:TLB,MMU...
每個進(jìn)程一張頁表
OS維護(hù)一張free-frame list
地址變換圖
頁表管理:
①分級法
②哈希頁表法
③倒置頁表(一個系統(tǒng)只有一個,可以節(jié)省空間,但速度慢)
POWERPC等就用到

4.分段

類似于連續(xù)存儲分配中的動態(tài)分區(qū),但有區(qū)別,段與段可以不連續(xù)
地址變換圖

5.段頁式

如80386地址變換圖

第四部分 虛擬存儲
進(jìn)程的虛地址空間

1.頁裝入策略(page fetch policy)

a). Demand Paging(按需調(diào)頁):普通用
b). Prepare(預(yù)取):Demand Paging的優(yōu)化,發(fā)生缺頁時(shí),將該頁及臨近頁一起裝入
     (因?yàn)榫植啃裕?BR>
2.頁替換策略

①Optimal:最優(yōu)化方法
②FIFO:最先裝入的被換出,得*隊(duì)列實(shí)現(xiàn)
③LRU:最久未用的頁被換出(基于locality,很有效)
④Clock policy:時(shí)鐘算法,LRU不易實(shí)現(xiàn),用它來近似模擬
Belady’s Anomaly(Belady異態(tài)):內(nèi)存分配大反而缺頁率高,F(xiàn)IFO可能出現(xiàn)
⑤修改的Clock算法

3.抖動

進(jìn)程缺頁率過高,可用如下方法加以解決:
①優(yōu)化算法
②提供更高速的交換設(shè)備
③增加內(nèi)存
④減少進(jìn)程數(shù)
Windows NT有一個工作集的方法

4.交換

實(shí)現(xiàn)虛擬存儲的重要手段
擴(kuò)大內(nèi)存,可使系統(tǒng)運(yùn)行比內(nèi)存大的程序
交換空間
交換設(shè)備的管理
Swap cache


第五部分 文件系統(tǒng)與I/O管理

1.文件系統(tǒng)

文件分類
文件磁盤空間分配
文件控制塊FCB
目錄文件:存儲目錄下文件的信息(名字,F(xiàn)CB索引信息)
樹型結(jié)構(gòu)的文件系統(tǒng)
文件訪問權(quán)限:
UNIX中的文件的三類用戶:User,group,other
進(jìn)程的uid和gid

2.文件系統(tǒng)空閑磁盤空間管理

位向量法
鏈接法
成組鏈接法:UNIX中用
索引法

UNIX文件系統(tǒng),Linux文件系統(tǒng)  linux:

UNIX:i-node(索引節(jié)點(diǎn))

3.I/O管理
I/O設(shè)備分類
Buffer
I/O buffering(緩沖):
①解決CPU與I/O速度匹配
②解決數(shù)據(jù)傳輸大小匹配
③提高I/O的存取
④直接由OS管理
Buffer與Cache的區(qū)別

磁盤調(diào)度
......


友情提示:新的招生簡章上的列出的操作系統(tǒng)參考書即為通常所說的恐龍書,然后還有一本W(wǎng)illiam Stallings的也可以參考,時(shí)間不夠可以參考這本書的中文版(第四版,電子工業(yè)出版社出版),恐龍書好像目前市面上是沒有中文版的,其實(shí)看起來很容易懂得,耐心點(diǎn)好了!
^_^

數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)

第一部分 數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)大綱

復(fù)習(xí)目標(biāo)

1) 掌握基本數(shù)據(jù)結(jié)構(gòu)的概念及其應(yīng)用,2) 如:堆棧、隊(duì)列、鏈表、樹、堆、圖等
3) 掌握基本的sorting,Hashing和Searching算法

基本考試類型

證明題(如樹的特性)出題概率不高
填空題  可能會有英文書的例子
問答題(含數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、算法結(jié)構(gòu)等)
如圖的表示方法、最小生成樹、最短路徑等
編程題(含算法設(shè)計(jì))
注意思路清晰

數(shù)據(jù)結(jié)構(gòu)的基本要素

鏈表
單向鏈表,雙向鏈表、循環(huán)單雙向鏈表、廣義表
隊(duì)列、堆棧:循環(huán)條件判斷、數(shù)組表示

i. 樹的二*樹表示
ii. 二*樹的特性(層次、結(jié)點(diǎn)等)
iii. 二*樹的表達(dá)
iv. 二*樹的周游(如已知先、中序,v. 求后序)
vi. 線索二*樹(如已知中序線索,vii. 求遍歷)、哈夫曼樹
viii. 堆(Heap)---用數(shù)組表達(dá),ix. 基本操作(插入、刪除)
x. 二*搜索樹(查找樹)
xi. 森林(森林的二*樹表達(dá))
出題層次類型:
▲三種基本類型(線性表、樹、圖)的對象定義與操作實(shí)現(xiàn)---屬于概念層次
▲應(yīng)用問題(如最短路徑)---屬于方法層次
▲查找與排序---屬于算法層次
查找:①靜態(tài)查找(順序、二分)
    ②動態(tài)查找(查找樹、哈希)
   查找樹:平衡樹,B+樹,B-樹)
排序:①選擇排序......堆排序
    ②交換排序......快速排序
    ③插入排序......SHELL排序

1) 圖的定義和表達(dá)(4種基本表達(dá)方法)
2) 圖的操作:深度遍歷、廣度遍歷、連通分量、生成樹等
3) 最小生成樹(兩種算法)
4) 最短路徑
迪杰斯特算法、動態(tài)規(guī)劃法
5) AOV、AOE網(wǎng)
典型例子:拓?fù)渑判、求關(guān)鍵路徑
排序
i. 插入
ii. 快速
iii. 歸并
iv. 堆
v. 拓?fù)?BR>vi. 基數(shù)
查找
Hashing(構(gòu)造、沖突解決)
最優(yōu)二*查找樹(概念即可)
AVL樹(四種情況,如何維護(hù)即可)--->B+樹
算法設(shè)計(jì)基本方法
回溯法
分治法(典型例子:歸并排序)
貪心法(如:選擇排序)
動態(tài)規(guī)劃法

第二部分 復(fù)習(xí)內(nèi)容

一、鏈表

1.單向鏈表就地逆轉(zhuǎn)
            q0     q1

 

         q0     q1     q2
while(q1!=Null){
q2=q1->next;
q1->next=q0;
q0=q1;
q1=q2;}
初始:q0=Null
   q1=L->next
廣義鏈表

二、堆棧和隊(duì)列

循環(huán)隊(duì)列(判斷滿和空條件)

三、樹

樹的二*樹表達(dá)
二*樹的特性
a) 第i層二*樹最多節(jié)點(diǎn)數(shù) 性質(zhì)1
b) 深度為k的二*樹最多節(jié)點(diǎn)數(shù) 性質(zhì)2
c) 性質(zhì)3(向上邊的角度與向下邊的角度結(jié)合
d) 2i,2i+1......
數(shù)組表示二*樹
二*樹的遍歷
遍歷算法
由前/中(后/中)推導(dǎo)后(或前)來構(gòu)造樹
線索二*樹(加了一個結(jié)點(diǎn),為了方便遍歷實(shí)現(xiàn))
中序線索(用此來實(shí)現(xiàn)遍歷)
給出一棵樹線索化

插入元素、刪除元素的算法

四、圖

1.圖的表示方法

數(shù)組表示:矩陣表示法(有向/無向)
  鄰接表(逆鄰接表)表示法(有向/無向)
十字鏈表(有向)
多重鏈表(無向)

2.圖的操作

深度搜索、廣度搜索
最小生成樹
a) Kruskal算法
b) Prim算法
最短路徑
AOV和AOE
拓?fù)渑判、關(guān)鍵路徑

五、排序

插入排序,基本插入排序方法,希爾排序
交換排序:基本交換排序(冒泡、快速排序)
歸并排序:循環(huán)、遞歸
選擇排序:堆排序
快速排序(算法思想)
兩種思路:①單向掃描;②雙向掃描
堆排序
Adjust(從n/2開始調(diào),保證左邊是堆,右邊是堆,往上調(diào))

六、查找

1.Hashing

基本思想
構(gòu)造方法
沖突解決(開放地址、線性探測、鏈表)
鏈表(關(guān)于其操作來實(shí)現(xiàn)沖突解決)
exp. Insert_LinkHashing(...)
2.AVL樹

首先判別各種平衡旋轉(zhuǎn)方法(找平衡因子被破壞的及誰破壞它的)
實(shí)現(xiàn)旋轉(zhuǎn)來維護(hù)(簡單的就是旋轉(zhuǎn)后滿足排序二*樹)


友情提示:一般參考嚴(yán)版的書和習(xí)題就可以了,另外最好把上課用的英文課件下來看看,可能有算法填空題會從中間出的。^_^

0
收藏該文章
0
收藏該文章
文章搜索
萬題庫小程序
萬題庫小程序
·章節(jié)視頻 ·章節(jié)練習(xí)
·免費(fèi)真題 ·?荚囶}
微信掃碼,立即獲!
掃碼免費(fèi)使用
考研英語一
共計(jì)364課時(shí)
講義已上傳
53214人在學(xué)
考研英語二
共計(jì)30課時(shí)
講義已上傳
5495人在學(xué)
考研數(shù)學(xué)一
共計(jì)71課時(shí)
講義已上傳
5100人在學(xué)
考研數(shù)學(xué)二
共計(jì)46課時(shí)
講義已上傳
3684人在學(xué)
考研數(shù)學(xué)三
共計(jì)41課時(shí)
講義已上傳
4483人在學(xué)
推薦使用萬題庫APP學(xué)習(xí)
掃一掃,下載萬題庫
手機(jī)學(xué)習(xí),復(fù)習(xí)效率提升50%!
版權(quán)聲明:如果考研網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時(shí)處理。如轉(zhuǎn)載本考研網(wǎng)內(nèi)容,請注明出處。
領(lǐng)
精選6套卷
學(xué)
8次直播課
大數(shù)據(jù)寶典
通關(guān)大法!
在線
咨詢
官方
微信
掃描關(guān)注考研微信
領(lǐng)《大數(shù)據(jù)寶典》
下載
APP
下載萬題庫
領(lǐng)精選6套卷
萬題庫
微信小程序
幫助
中心