※ 本文為 dinos.bbs. 轉寄自 ptt.cc 更新時間: 2012-12-23 02:26:16
看板 Soft_Job
作者 標題 Re: [請益] 演算法以及微處理機?
時間 Sun Dec 23 02:22:49 2012
※ 引述《jengjian (賺錢花錢賺錢花錢)》之銘言:
: 解法三:
: for(i=0x80000000; i!=0; i=i>>1)
: {
: sum <<= 1;
: if(i&n)
: {
: sum += (1+n);
: }
: }
: sum >>= 1;
: --
: 推 wzbird:我也覺得三在定義上不算"演算法" 只能說是寫程式的技巧 12/21 14:22
: → wzbird:不過或許業界定義的演算法跟書上的不盡相同吧 12/21 14:23
解法三確實是演算法
一個經典的例子是,計算 a**n (a 的 n 次方)
如果一般的解法
long ans=1;
for(int i=0; i<n; i++) {
ans *= a;
}
時間複雜度是 O(n) ,如果 b 很大(譬如考慮大數),就很久
假設用 3**19 來說,因為 19 的二進位制是 10011
3**19 = 1 * 3**1
+ 1 * 3**2 3**2 = (3**1)**2
+ 0 * 3**4 3**4 = (3**2)**2
+ 0 * 3**8 3**8 = (3**4)**2
+ 1 * 3**16 3**16 = (3**8)**2
比較快的演算法為:
long ans=1;
long base=a;
for(; n>0; n/=2) {
if(n%2==1) {
ans*=base;
}
base=base*base;
}
時間複雜度是 O(log n)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.45
--
※ 看板: dinos 文章推薦值: 0 目前人氣: 0 累積人氣: 93
作者 oaz 的最新發文:
- 八卦是:「八卦板是反指標」 猶記二零一二年,這個板上一片支持宋楚瑜,結果選後宋的得票呢? 大家心理有數,「支持宋楚瑜,票投蔡英文」是吧 現在則是,一群人希望把事情鬧大,又不想自己負責 因此「躲在安全的 …16F 4推 2噓
- 不滿兒拆組合屋 王廣樹罵王耀德是「憨子」 不滿兒拆組合屋王廣樹罵王耀德是「憨子」 | 即時新聞 | 20140314 | 蘋果日報 文林苑都更案前年3月由北市府代拆後,遭強拆的王家人在原址搭蓋組合屋, …29F 11推 1噓
- 這時候就不會有人跳出來說:為了廢核能,我願意漲電價 鼓勵節電最有效的方法就是把成本反應電價上 漲久就習慣?台電要取消電費折扣 | yam蕃薯藤新聞 馬總統上週才講過「油電漲價,兩年下來,大家就習慣了」 …34F 11推 1噓
- 很好奇如果馬向下面這樣回,鄉民會如何說 對於軍機部分,台灣方面不會跟中國通報 對於民航機部分,台灣參考美國作法,基於保障民眾搭機時的安全 建議民航單位通報 不過估計,大概不學日本要求中國撤消,就是對中 …7F 3推 1噓
- 自由電子報 - 電資工會:政府逼走人才 經部次長:我很同情 把人才逼到其它國家的,是台灣資方給太低了啊 有外國資方跟台灣資方競爭人才,電資工會該高興才是 人才被逼到外國,台灣的老闆才會怕,等台灣環境改 …15F 2推 3噓
點此顯示更多發文記錄
瞎
guest
回列表(←)
分享