事後統計方法: 這種方法主要是透過設計好的測試程式和資料,利用電腦計時器對不同演算法編制的程式執行時間進行比較,進一步確定演算法效率的高低。
但是這種方法顯然是有很大缺陷的:
必須依據演算法是先編制好程式,通常需要花費大量的時間和精力。
時間的比較依賴電腦硬體和軟體等環境因素,有時會掩蓋演算法本身的優劣。
演算法的測試資料設計困難,而且程式的執行時間常常還與測試資料的規模有很大關係,效率高的演算法在小的測試資料面前常常得不到表現。
事前分析估算方法: 在電腦程式編制前,一句統計方法對演算法進行估算。
經過分析,我們發現一個用進階程式語言撰寫的程式在電腦上時期所消耗的時間取決於下列因素:
換句話說,評估演算法效率不能靠寫完後才來測(那樣變數太多又費時),而是要在寫程式前,透過策略、規模等條件直接進行事前分析與估算。
今日的分享就到這囉,我們明天見,掰掰!