[C++] 計算程式執行時間 (Compute Time of Execution)
大二演算法和碩一高等演算法都需要計算程式執行時間 (Compute Time of Execution),藉此來分析演算法的效能,雖然現在中央處理器快到讓我們人感覺不太出來,不過在處理上億次的迴圈依然有需要,讓我們知道,一個小小的運算累積起來影響多大,正所謂:差之毫釐,失之千里。
大二演算法和碩一高等演算法都需要計算程式執行時間 (Compute Time of Execution),藉此來分析演算法的效能,雖然現在中央處理器快到讓我們人感覺不太出來,不過在處理上億次的迴圈依然有需要,讓我們知道,一個小小的運算累積起來影響多大,正所謂:差之毫釐,失之千里。
剛才發現WordPress的好物!
就是有支援在文章中貼程式碼的功能。
WordPress為了防止使用者誤用有潛在危險的程式碼,
刻意不直接提供貼上程式碼的功能,
但對於從事資訊事業的人來說,
時常會寫程式又為了以後使用方便,
總是希望有個備忘欄可以存放程式碼,
以至於這樣子的功能有存在的必要。
為了慶祝偉大的【愚人節】,
我寫了這一篇「懶人插入行號」的程式,
喔~其實我是因為睡不著才來寫低,
為什麼會睡不著呢?
都是因為重感冒的關係,
讓我持續無預警得咳嗽,
這種狀況我怎麼睡得好呢?
想到以後會時常用到「插入行號」的功能,
自己隨性就來寫一支Code:P
Windows XP和Windows 7皆可成功安裝,若有人試過Windows 8,也請跟我說喔!
本來想安裝最新版OpenCV 2.2,
但為了節省時間而直接Google相關安裝資訊,
於是找到了這一篇「Weiyu: Dev-C++安裝OpenCV 2.0」,
直接按照它的步驟走下來,
很輕易地完成安裝與設定!
今天56級吳同學長來演講Foundations of Interval Computation,
因為他是數學系出身,
所以內容大部分包含數學,
許多數學式子我可以不懂:P
但有一個演算法卻讓相當感興趣!
之前以為指標有限制【深度】,
在看過了「指標的藝術」這本書後,
馬上來測試指標深度的極限,
我驗證到10層都還可以編譯,
相信若compiler沒有限制的話,
是可以到【無限】深度的!
不過倒是沒看過有人會寫超過2顆*的程式,
人類的理解程度最多可到3維也就是3顆*,
【空間概念】厲害的人就可以玩弄星星於鼓掌之中XD~
有興趣的人可以玩一玩喔~
/**
Theme: Art of Pointer
Date: 100/01/25
compiler: Dev C++ 4.9.9.2
Author: ShengWen
Blog: https://cg2010studio.wordpress.com/
*/
#include<iostream>
using namespace std;
int main(){
int number=99;
int *onePointer;
int **twoPointer;
int ***threePointer;
int ****fourPointer;
int *****fivePointer;
int ******sixPointer;
int *******sevenPointer;
int ********eightPointer;
int *********ninePointer;
int **********tenPointer;
onePointer=&number;
twoPointer=&onePointer;
threePointer=&twoPointer;
fourPointer=&threePointer;
fivePointer=&fourPointer;
sixPointer=&fivePointer;
sevenPointer=&sixPointer;
eightPointer=&sevenPointer;
ninePointer=&eightPointer;
tenPointer=&ninePointer;
cout<<&tenPointer<<endl;
cout<<tenPointer<<endl;
cout<<*tenPointer<<endl;
cout<<**tenPointer<<endl;
cout<<***tenPointer<<endl;
cout<<****tenPointer<<endl;
cout<<*****tenPointer<<endl;
cout<<******tenPointer<<endl;
cout<<*******tenPointer<<endl;
cout<<********tenPointer<<endl;
cout<<*********tenPointer<<endl;
cout<<**********tenPointer<<endl;
system("pause");
return EXIT_SUCCESS;
}
輸出結果:
0x23ff4c
0x23ff50
0x23ff54
0x23ff58
0x23ff5c
0x23ff60
0x23ff64
0x23ff68
0x23ff6c
0x23ff70
0x23ff74
99
請按任意鍵繼續 . . .
有時候寫程式會用到亂數,
而且產生得亂數不會重複。
我用的方法是【撲克牌】法,
也就是1-52本來就已經決定,
接著兩兩對調,
對調的次數越多,
亂數的序列越均勻,
最後再從52張牌抽一張,
那個就是【撲克牌】法所產生的亂數。
HappyMan・迴響