程式設計珠璣 第六章 程式效能分析

2022-08-27 12:57:05 字數 827 閱讀 2852

一,概述

如果要提高軟體的效能,需要從下面幾個方面入手:

1、演算法與資料結構

2、演算法調優

3、資料結構重組

4、與系統無關的**的調優(float取代double)。

5、與系統相關的調優,把經常使用的函式進行加速,比如關鍵**使用彙編代替高階語言

6、硬體上使用浮點加速器。

二,習題

2)因子分解

例題:大於1的正整數n可以分解為:n = x1*x2*...*xm。

例如:當n = 12時,共有8中不同的分解式:

12 = 12;

12 = 6 * 2;

12 = 4 * 3;

12 = 3 * 4;

12 = 3 * 2 * 2;

12 = 2 * 6;

12 = 2 * 3 * 2;

12 = 2 * 2 * 3;

程式設計任務:

對於給定的正整數 n, 程式設計計算n共有多少種不同的分解式。

input

有多組輸入資料,每組資料的一行,為乙個正整數n( 1 < = n < = 2000000000 )。

output

輸入計算出的分解式的數目。每組資料後輸出乙個回車。

sample input

12sample output

8測試可以輸出每個等式的程式(12 = 12需要手動輸出,程式沒給出)

僅僅返回個數的程式(遞迴呼叫)

6)效率永遠排在正確性後面?

乙個大型程式,今天有10個已知的錯誤,下個月又會有10個新的錯誤。如果讓你在更改當前10個錯誤和使程式提速10倍,你會選擇哪乙個?

程式設計珠璣 第六章 程式效能分析

一,概述 如果要提高軟體的效能,需要從下面幾個方面入手 1 演算法與資料結構 2 演算法調優 3 資料結構重組 4 與系統無關的 的調優 float取代double 5 與系統相關的調優,把經常使用的函式進行加速,比如關鍵 使用彙編代替高階語言 6 硬體上使用浮點加速器。二,習題 2 因子分解 例題...

程式設計第六章總結

一 主要內容摘要 1 for語句 for 表示式1 表示式2 表示式3 迴圈體語句 用途 在迴圈頂部進行迴圈條件測試,如果迴圈條件第一次迴圈就為假,則迴圈體一次也不執行,即用於實現當型迴圈控制結構。適用於迴圈次數已知 技術控制的迴圈。例 輸出1 100之間所有偶數 include using nam...

高效能MySQL 第六章

查詢優化 索引優化 庫表結構優化 優化查詢嗎,實際上是優化其子任務。優化查詢 1。消除子任務 2。減少子任務執行次數 3。讓子任務執行的更快 查詢效能低下最基本的原因是訪問的資料太多。1 返回的結果 limit,避免返回不需要的資料 而不是返回全部結果集 select 是否需要返回全部列?2 掃瞄的...