freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

算法合集之論反匯編在時間常數(shù)優(yōu)化中的應用(留存版)

2024-11-30 20:35上一頁面

下一頁面
  

【正文】 編譯器對 memset語句的處理如下 ? Debug模式下編譯器對 memset語句的處理如下 memset(field,0,sizeof(field))。j++) for (i=0。 const int Time=你喜歡的合法的數(shù)值 。j++) for (i=0。} 測試代碼: swap(a,b)。} 盡管沒有 inline關鍵字,在反匯編中已經(jīng)看不到對swap的調用了 ?正因為這樣,在 Debug模式和Release模式下, stl庫的運行效率才會有巨大的差別。 原始代碼: const a[]={1,2,4,8,16,32,64,128,256,512,1024,2048,4096}。 ? 讓我們通過一個例子來了解這種優(yōu)化的作用。 ? 對障礙判斷的實現(xiàn)可以用統(tǒng)一變量格式實現(xiàn)。 ? 雖然最終還是使用“批處理化”的思想,但是這種方法沒有把精力用在漸進復雜度的優(yōu)化上,而轉向到了具體的實現(xiàn)上。 00411A4C mov eax,dword ptr [go] 00411A51 mov ecx,dword ptr [ptr] 00411A57 lea edx,[ecx+eax*4] 00411A5A mov dword ptr [ptr2],edx return *ptr2。 二、除法(求余)的優(yōu)化 正確的方法是, 判斷出特殊性, 使用手工的優(yōu)化方式, 如: 優(yōu)化后的代碼: const a[]={1,2,4,8,16,32,64,128,256,512,1024,2048,4096}。a,intamp。a,intamp。 char field[Total/Time]。 ? 然而在競賽中,漸進時間復雜度是人們關注的重點,而同樣能夠決定程序運行快慢的常數(shù)因子優(yōu)化問題卻缺乏重視。 } ? 你能直接答出 Time值與運行速度的關系? ? 觀看右邊的 C++程序 (假設計算機具有足夠大的內存) 試驗結果02468100 2 4 6 8T i m e 值的對數(shù)運行時間(秒)D e b u g 模式 Release模 式分析 可能你認為 Time值不影響程序時間復雜度,因此對程序的速度無影響。 ? 雖然調用過程在 Release模式下會被自動優(yōu)化,但是在某些只提供 Debug模式的競賽環(huán)境中,我們該如何優(yōu)化?所以本文主要闡述在 Debug模式下的調用常數(shù)因子優(yōu)化 。 printf(%d%d\n,a,i)。所以,如果運算直接可用位運算代替,推薦使用位運算。 int*ptr,*ptr2。 ? 最優(yōu)做法的單調性降維,以及其他各式各樣的優(yōu)化,如堆和 RMQ等,都是基于對這一步驟的漸進時間復雜度的優(yōu)化。 表 3:“行走”優(yōu)化方法 表 4:非“行走”優(yōu)化方法 總結 ? 匯編語言具有高速、高效的特點,并且它的細微差異,都會導致程序運行速度的一定的變化。某一秒你可以讓它運動,也可以讓它靜止。 二、除法(求余)的優(yōu)化 ? 由于計算機內存是線性的,多維數(shù)組的元素在排列為線性序列后存入存儲器,
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1