Complexity
Definition
一份程式的好壞有很多面向
如何評估?
引用 time.h 直接測量
#include <time.h> #include <iostream> int main() { clock_t start, finish; start = clock(); // ... finish = clock(); std::cout << finish - start; return 0; }
變因過多(電腦效能等)
需要實際測量才能得知
假設「基礎運算」運行時間為一單位時間
int a; a = 1; a += 3;
將時間表示成相關因素(e.g. 輸入量)的函數 T(n)
考慮將 T(n) 以更簡單的方式描述
Algorithm Analysis
一般來說, C++ 每秒可以跑 1e8 ~ 1e9 (約 3e8)
Python 可能 1e7 或以下(?
實際上因為常數關係,經驗成分居多(
理論計算機科學
計算複雜性理論
P/NP 問題 維基中文翻得有點爛
By 海之音
INFOR 36th 學術長 @小海_夢想特急_夢城前