演算法效能分析

2021-08-07 04:37:20 字數 352 閱讀 9063

重新學習乙個

對於乙個程式(效能來說)的評估,主要從時間和空間來進行考慮的。時間是指程式執行的時間,稱為時間複雜度,空間方面則是指程式在計算機記憶體所占用的時間大小,稱為空間複雜度。

一些小技巧:

少用 多層迴圈巢狀,據一同學透析他接盤的一老專案,發現了乙個套了至少五六層迴圈,且每層迴圈中 包含了 數量不一的sql 查詢。 執行一次要好幾分鐘 ,好像是輸出表報的乙個功能。如此糟糕的**,且無注釋,當事人寫完以後也難以記清邏輯。

迴圈中建立物件,可以在迴圈外 定義乙個 物件 class a,在迴圈中在進行初始化 new classa();

變數應該在 使用的時候在去定義 ,而不是全域性

演算法效能分析

一般我們從時間複雜度和空間複雜度兩個方面對演算法的效率進行分析。一.時間複雜度 time complexity 我們通常將時間複雜度記為 t n o f n 我們將此式分為三個部分進行講述。t n 演算法的漸近時間複雜度,簡稱時間複雜度。f n 演算法中語句中執行次數最多的語句的頻度。o 計算數量級...

排序演算法效能分析

一 基於比較的排序演算法 1.插入排序法 直接插入排序,希爾排序,不常用的 tree sort library sort patience sorting 2.交換排序 氣泡排序,快速排序,計數排序 3.選擇排序 直接選擇排序,堆排序 4.歸併排序 歸併排序 二 不基於比較的排序演算法 基數排序,桶...

演算法和效能分析

資料結構與演算法是程式設計實踐中最基本的內涵。程式能否快速而有效地完成預定的任務,取決於是否選對資料結構,而程式是否能清楚而正確地把問題解決,則取決於演算法。演算法 algorithm 是指令的集合,是為了解決特定問題而規定的一系列操作。它是明確定義的可計算過程,以乙個資料集合作為輸入,並產生乙個資...