抽象資料型別 Abstract Data Types
具有操作行為的特定資料結構的數學模型。 例如,抽象的堆疊(stack)由3個操作定義:推入push,彈出pop(接受約束:每次彈出返回的是最新被推入且沒有被彈出的資料,也就是後進先出),檢視堆疊頂端資料peek。當分析使用堆疊演算法的效率,所有這3個操作用時相同,無論堆疊中包含多少項資料;並且對每項資料棧使用了常量大小的儲存。 抽象資料型別(ADT)是純粹理論實體,用於簡化描述抽象演算法,分類與評價資料結構,形式描述程式設計語言的型別系統。一個ADT可以用特定資料型別或資料結構實作,在許多程式設計語言中有許多種實作方式;或者用形式規範語言描述。ADT常實作為模組(module):模組的介面聲明了對應於ADT操作的常式(procedure),有時用注釋描述了約束。
數學證明方式 Mathematical Proof Techniques
- 直證式 Direct Proof
- 矛盾證明 Proof by Contradiction
- 數學規納法 Proof by Mathematical Induction
演算法分析Algorithm Analysis
計量演算法的時間複雜度和空間複雜度。演算法分析會用到很多數學知識。