999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C語言中枚舉算法的優化及理解難易程度分析

2014-10-17 11:16:56張朝鑫
中國新通信 2014年5期
關鍵詞:定義程序優化

張朝鑫

【摘要】計算機程序設計語言C,在高校中普及開來,其算法教學的難易程度不同,學生理解把握不好。本文以常見的的教學方法,層層深入分析其中較為典型的“枚舉”算法,以基本的形式為支撐、不斷優化其算法。

【關鍵詞】枚舉算法優化C語言

一、引言

枚舉算法常常稱之為窮舉法,是計算機高級語言中很重要的一種算法,從可能出現的集合中一一列舉所有元素,用給定的已知條件來判斷是“有效的”還是“無效的”。所謂有效的就是條件成立,也就是問題的一個解法。

二、常見枚舉算法

枚舉算法在使用計算機編程求解數學問題時,很常見,比如:“百錢百雞”、“求水仙花數”、“求質子數”、“求素數”。這些都是根據已知條件,在一個范圍域里,求符合條件的集合;可以表示為:a∈b。

以“求素數”為例,以多種方式求解,并比較其算法的優缺點和學生理解的難易程度;使學生得以全面理解掌控其算法的特點。大家知道素數的含義:除自然數1以外只能被1和它自己本身整除的數即的素數。從理解的角度,從“素數”的定義,直接編程求100以內的素數。列舉從2開始的數,分別用2至100的數去除,如果余數為0則說明當前的數不是素數,反之則是。程序核心代碼如下:

for(i=2;i<100;i++)

{flag=1;for(j=2;j<100;j++)if(i%j==0){flag=0;break;} if(flag==1)

printf("i=%d是100以內的一個素數\n",i);

}

顯而易見,這種方法是對最原始的枚舉法的詮釋。對于學生來說很容易理解,也是對枚舉算法的定義的解釋表現;但是,其算法效率低、無效循環多。很明顯,如果在枚舉域大的時候,其弊端就會使程序運行困難。

三、優化枚舉域后的算法

從上面的算法大家會發現,雖然最終可以得出結果,但其改進的空間很大。大家可以從其枚舉域過大入手來優化,上述程序深入研究后會發現:變量i在外層循環控制變量,其作用是列舉2以后所有的數;變量j在內層循環,其作用是判斷其是否是素數和判斷的范圍。由此,可得出:例如i值等于78,本來判斷最大范圍應該是2至77就足夠了。

所以,上述程序第二行可以優化為:“{flag=1;for(j=2;j

四、進一步優化枚舉算法4.1時間復雜度縮小優化

前面我提出的算法,如果用時間復雜度來表示的話,應該是:O(i)。但是我們知道,除了2是素數以外;只要是2的整數倍是數它就不是素數,如果我們把它扣除在外那么速度就會提高一倍。表示為:O(i/2),可以在程序中加入以下語句來實現:

bool isPrime(int i)

{if(i<2)return false;

fo(rint k=2;k

if(i%k==0)return false;return true;}

在原有的基礎之上,此程序在開始執行前加上了判斷其是否是偶數的語句;看似程序加長并變復雜。學生的第一感覺都是這樣,上述例子就是以函數的形式來展現,就是要學生理解;它其實就是完成一個小的功能而已,把這個理解了,就不難理解程序時間復雜度減小了一半。

4.2數學上的值域優化

數學上有定理:如果i不是素數,則i有滿足1

在4.1節例子中程序第3行應該改成:“for(int k=2;k<=sqrt(i);k+=2)”。這種方式,可以認為是初學C語言者的一個教學難點和重點;其綜合性很強,除了要掌握前面所述的算法外,還要對數學方面的知識能夠學懂。但只要大家比較其時間復雜度,就會得出很明顯的算法優化,就知道其重要性。

五、結束語

枚舉算法在生活中經常使用,在計算機編程中由為重要。雖然根據其原理,學者提出了許多的方法,諸如:篩法求素數,二分法求素數,利用數組等方式;但對于初學者來說又太難,本文是提高專科學生學習能力的有效路徑。

參考文獻

[1]梁潘.基于枚舉算法的優化方法研究.阿壩師范高等專科學校電子信息工程系.重慶三峽學院學報. 2010.3

猜你喜歡
定義程序優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 国产97视频在线| 99久久99视频| 久久久久亚洲AV成人网站软件| 亚洲综合国产一区二区三区| 国产欧美日韩综合在线第一| 亚洲大学生视频在线播放| 国产无码在线调教| 国产理论一区| 中文纯内无码H| 欧洲高清无码在线| 国产丝袜无码一区二区视频| 亚洲国产天堂久久综合226114| 亚洲天堂在线视频| 视频国产精品丝袜第一页| 亚洲视频色图| 国产办公室秘书无码精品| 免费jizz在线播放| 久久婷婷五月综合97色| 999福利激情视频 | 四虎精品国产永久在线观看| 欧美一区二区人人喊爽| 粗大猛烈进出高潮视频无码| 亚洲欧美精品日韩欧美| 国产激情无码一区二区三区免费| 极品尤物av美乳在线观看| 日本一本正道综合久久dvd| 91无码视频在线观看| 极品尤物av美乳在线观看| 成人午夜视频免费看欧美| 九九热免费在线视频| 亚洲AV一二三区无码AV蜜桃| 亚洲国产av无码综合原创国产| 国产日韩欧美成人| 亚洲综合香蕉| 亚洲欧美自拍中文| 免费高清毛片| 在线观看无码av免费不卡网站| 亚洲欧美一区二区三区麻豆| 欧美不卡视频在线| 天堂va亚洲va欧美va国产| 久久久久88色偷偷| 国产精品无码久久久久久| 国产欧美视频一区二区三区| 在线观看国产黄色| 欧美在线导航| 91福利片| AV片亚洲国产男人的天堂| 亚洲—日韩aV在线| 亚洲高清无码久久久| 毛片a级毛片免费观看免下载| 亚洲AV无码乱码在线观看裸奔 | 国产亚洲成AⅤ人片在线观看| 丁香婷婷激情综合激情| 日本色综合网| 国产美女免费网站| 精品自窥自偷在线看| 免费AV在线播放观看18禁强制| 国产福利2021最新在线观看| 久久久精品无码一二三区| 亚洲精品综合一二三区在线| 国产成人一区在线播放| 国产激情无码一区二区三区免费| 国产香蕉国产精品偷在线观看| 热99精品视频| 亚欧成人无码AV在线播放| 成年看免费观看视频拍拍| 99视频精品全国免费品| 青青草原国产一区二区| 青青草a国产免费观看| 国产青青操| 无码AV动漫| 国产欧美中文字幕| 综合色88| 视频二区国产精品职场同事| 久久精品只有这里有| 国产91小视频在线观看| 久久精品66| 欧美日韩福利| 国产一区二区三区精品久久呦| 理论片一区| 午夜天堂视频| 91精品人妻互换|