練習3-1 在上面有關折半查詢的例子中,while迴圈語句內共執行了兩次測試,其實只要一次就足夠(代價是將更多的測試在迴圈外執行)。重寫該函式,使得在迴圈內部只執行以此測試。比較兩種版本函式的執行時間。
我一開始是沒想出來的,所以去網上看了看,發現網上有些**無法執行但思路是對的,所以重新改了改發出來。
#include #include int binsearch_v1(int x, int v, int n)
return -1;
}int binsearch_v2(int x, int v, int n)
if ( x == v[mid] )
return mid;
else
return -1;
}
int main()
因為是o(n) = lgn,所以就算把總共數值設為10000也並不需要什麼執行時間,如果有興趣可以試試把數字再擴大一點。 《C程式語言》練習 3 1
練習 3 1 在上面有關折半查詢的例子中,while 迴圈語句內共執行了兩次測試,其實 只要一次就足夠 代價是將更多的測試在迴圈外執行 重寫該函式,使得在迴圈內部只執行 一次測試。比較兩種版本函式的執行時間。原文 有乙個問題,下面是改過的原文 int binsearch int x,int v,in...
C語言入門學習(3 1) 順序結構程式設計
課程要求 1 掌握程式設計的基本思想 2 熟悉及掌握c語言基本資料型別 int,long,float,double 的說明 3 掌握格式輸入函式scanf的靈活應用 4.掌握格式輸出函式printf的靈活應用 5.算術表示式在實際問題中應用 6.必須掌握的演算法1.兩數的交換 2.拆數法 實驗例題 ...
每日程式設計 31
題目描述 有n個房間,現在i號房間裡的人需要被重新分配,分配的規則是這樣的 先讓i號房間裡的人全都出來,接下來按照 i 1,i 2,i 3,的順序依此往這些房間裡放乙個人,n號房間的的下乙個房間是1號房間,直到所有的人都被重新分配。現在告訴你分配完後每個房間的人數以及最後乙個人被分配的房間號x,你需...