日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

for循环中一个不容小觑的问题

發布時間:2023/12/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 for循环中一个不容小觑的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? for(int i=1;i<=100;i++)

? ? ? ? 作為程序猿,我們很喜歡使用這種for循環。

? ? ? ? 可是,當中隱含著一個重要的問題。

? ? ? ? 過多的編程經歷可能使我們的思維產生了一些誤解,在上面的for循環中,因為我們在以往過多的編程經歷中更加關注for循環體中的內容,導致我們差點兒忽略了那個小i的存在,它扮演著作為計數器的一個“小角色”,我們忽略了它,殊不知它的“飯量”也是不小的哦~

#include<stdio.h> #include<time.h> int main() {int temp;/********************************/temp=clock();for(int i=1;i<=100;i++);printf("%d\n",clock()-temp);/********************************/temp=clock();for(int i=1;i<=1000000000;i++);printf("%d\n",clock()-temp);/********************************/return 0; }
程序執行結果是:

0

3000


? ? ? ? 這樣看來,那個小i所耗掉的執行時間也是很可觀的。一些編程新手覺得程序的執行時間是由循環次數決定的,這樣說對于上面的那個程序貌似是對的,可是沒有說到本質。略微懂編程的人都能知道,程序的執行時間是由程序的運算次數決定的,明顯加減法要比乘除法快。

? ? ? ? 對于覺得執行時間由循環次數決定的想法是錯誤的,能夠看以下的程序:

#include<stdio.h> #include<time.h> int main() {int n,temp;/********************************/temp=clock();n=1;for(int i=1;i<=100000000;i++){n++,n--;n++,n--;n++,n--;n++,n--;n++,n--;n++,n--;n++,n--;n++,n--;n++,n--;n++,n--;}printf("%d\n",clock()-temp);/********************************/temp=clock();n=1;for(int i=1;i<=150000000;i++)n++,n--;printf("%d\n",clock()-temp);/********************************/return 0; }
程序執行結果:

6291

901


? ? ? ? 前者的循環次數有一億次,而后者的循環次數有一億五千萬次,可是后者更快,是由于前者的運算次數多。深入分析,前者的加減法運算次數大約是100000000+100000000*20=2100000000即21億,比較次數(i<=100000000)是一億次;而后者加減法運算次數是150000000+150000000*2=450000000即4億5千萬次,比較次數(i<=150000000)是一億五千萬次。前者比后者多了16億5千萬次的加減法,后者比前者多了5千萬次的比較,依據數據大小的不同可能會有所差異。

? ? ? ? 不管怎樣,我們一方面要認識到決定執行時間的因素究竟有哪些,還有一方面,我們更不能忽視掉for循環中小i的作用和消耗,尤其在小i嵌入一個二層循環中。

? ? ? ? 我之前做過一道算法題,我的程序要跑4s,而我同學給我優化的程序僅僅要跑不到1s,可是我始終找不到原因,由于推導的公式中累加的次數是一樣的,僅僅只是我的循環是n*sqrt(n),而他的是n*lg(n)。我當時僅僅注重了公式中數據的累加,即我僅僅注重了循環體中的內容,忽視掉了小i也有做加法,尤其是套在一個數據量高達五十萬的二層循環中,這時候,小i的影響就凸顯出來了,由于在這個問題上,我和我的同學相差的地方僅僅有那個循環次數不一樣了(公式中的累加肯定是一樣的,不然得出的結果是不一樣且不對的)。所以看來,有些時候須要特別的控制一下程序的循環次數,在算法一樣的情況下,尤其對于多層循環的程序,降低循環次數可以出現意想不到的收益。


總結

以上是生活随笔為你收集整理的for循环中一个不容小觑的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲人久久 | 天堂在线观看免费视频 | 男人的天堂2018 | 谁有免费黄色网址 | 修女也疯狂3免费观看完整版 | 日韩v在线 | 色爱av综合 | 女女同性女同一区二区三区按摩 | 美女自拍偷拍 | 欧美性猛交xxxx乱 | 国产一区二区三区视频在线观看 | 日本一区二区三区中文字幕 | 国产伦精品一区二区三区四区 | 欧美极品三级 | av片在线播放 | 国产乱人对白 | 又欲又污又肉又黄短文 | 亚洲性图av | 亚洲综合黄色 | 国产成人av一区二区三区在线观看 | 九九热免费在线视频 | 在线免费黄色av | 日韩免费观看视频 | 韩国激情呻吟揉捏胸视频 | 免费视频a | www.猫咪av.com| 国产一区一区 | 国产三级按摩推拿按摩 | 国产片淫乱18一级毛片动态图 | 一级特黄欧美 | 超碰97观看 | 久青草资源福利视频 | av自拍偷拍 | 亚洲精品乱码久久久久99 | 天天国产视频 | 国产影视一区 | 69av在线 | 亚洲成人毛片 | 国产中文字幕在线播放 | 欧美韩国日本一区 | 黄色网址视频在线观看 | 欧美国产精品一二三 | 久久综合久久综合久久综合 | 欧美精品99久久 | 免费观看成人av | 亚洲国产精品av | 三级毛毛片 | 日本xxxx色| 久久免费视频1 | 琪琪免费视频 | 97国产精品人人爽人人做 | 麻豆国产av超爽剧情系列 | 清纯唯美亚洲激情 | 亚洲第一成年网 | 人妻精品无码一区二区 | 亚色中文字幕 | 亚洲精品视频在线观看免费视频 | 久久免费大片 | 亚洲精品福利视频 | 奴性白洁会所调教 | 伊人狠狠干 | 国产成人观看 | sm在线看 | 一级 黄 色 片69 | 日韩国产专区 | 亚洲欧美综合网 | 鲁一鲁在线视频 | 日本一区二区三区电影在线观看 | 亚洲图片中文字幕 | 超碰人操| 可以免费看黄的网站 | 天天天操| 激烈娇喘叫1v1高h糙汉 | 亚洲日本色 | 人人爱超碰 | 亚欧在线免费观看 | 快播在线视频 | 女儿的朋友4在线观看 | 亚洲aⅴ网站 | 欧美aaaaaaa| 国产欧美在线观看不卡 | 欧美日韩国产网站 | gai视频在线观看资源 | 国产精品中文久久久久久 | 久久久久久免费精品 | 大又大又粗又硬又爽少妇毛片 | 伊人青青操 | 偷偷操99 | 欧美特级aaa | 成人免费自拍视频 | 1000部啪啪未满十八勿入 | 欧美在线天堂 | 亚洲精品自拍 | 国产色呦呦 | 天天综合网在线观看 | 韩国在线不卡 | 禁漫天堂黄漫画无遮挡观看 | 九九久久国产视频 | 91色视频|