- 如何評斷演算法表現
- 會受機器等其他因素影響
- 計算執行時間
- 執行的數量
- 相關指標
- Big-O
- f(n) 屬於 O(g(n)) f(n) upper bound 不會超過 big O
- 指數為n總是比多項式為n來的大 ex.n100次方 屬於(=) O(2n次方) computer science在這裡常把屬於寫成=
- 只在意n極大時的是否能bound住
- 不在意n小的時候的表現? n如何算小該如何定義? n很大的時候Big-O仍然比f(n)表現好嗎?
- Big-Omega
- f(n) 屬於 O(g(n)) f(n) lower bound 不會超過 big Omega
- Big-Theta
- f(n)既是Big-O又是Big-Omega
- Big-O
- 主要先抓三種情境 best、worst、average
- 因為表現會被輸入資料影響所以才需區分情境
- 分析通常最重視 average 有時為了預期最壞的情況會注意worst比較少注意 best的情境
- 演算法主要issue
- 運算結果正確
- 效能
- loop須注意三個屬性
- precoditions
- 進入前的狀況
- loop invariants
- 在loop中不會改變
- Termination condition
- 最後停止loop的條件
2017年9月9日 星期六
[公開課閒聊] 計算機概論第十一講 Algorithm - 台大 于天立
Ped隨手摘
2017年5月31日 星期三
[公開課閒聊] 計算機概論第六講 Operating systems - 台大 于天立
Ped隨手摘
- 作業系統組成部分
- file manager
- device drivers 驅動程式
- memory manger
- 包含主記憶體與虛擬記憶體
- 當主記憶體不足時會將一些暫時用不到的資料先存到硬碟中
- scheduler
- dispatcher
- linux
- 指的只是 kernel 其實不包含 GUI 之類的東西
- made by GNU
- MacOS
- base on BSD
- boot strapping (booting) 含意: 不求人
- boot loader 會去把在 ROM 中的作業系統載入到主記憶體中後再將控制權交給作業系統
- BIOS可以和 boot loader 溝通
- process
- process state
- program counter 程式跑到第幾行
- general purpose register register進行的動作
- associated memory cell 記憶體位置
- process table
- 記憶體位置
- 優先順序
- waiting / ready
訂閱:
文章 (Atom)