公式:資料結構 + 演算法 = 程式
一、演算法的特性:
1、確定性;演算法中每個步驟應當是確定的,而不能是含糊的;
2、可行性(有效性);演算法中每乙個步驟應當有效的執行;
3、有零個或多個輸入;
4、有乙個或多個輸出;
5、有窮性;乙個演算法應包含有限的操作步驟,而不是無限的。
二、演算法的表示:
用流程圖表示時三種基本結構要牢記
1、順序結構;
2、選擇結構(分支結構);
3、迴圈結構(重複結構);
三、例題:求1x2x3x4x5 用c語言表示;
解題思路:這題試求5的階乘,有時候題目給的是5!,意思是一樣的。原始的方法直接去算的話,過程太繁瑣,我們設定兩個變數t和i,**如下:
複習一下,c程式的執行步驟?
(編輯源程式)、編譯、連線、執行
執行結果:
程式分析:
首先 t=1,i=2,將t*i 再賦值給 t,即t*i→t,此時t的值變了t=1*2=2,
然後i=i+1=3,將t*i→t,此時t的值變了t=2*3=6,
然後i=i+1=4,將t*i→t,此時t的值變了t=6*4=24,
然後i=i+1=5,將t*i→t,此時t的值變了t=24*5=120;
當下一步 i=6 的時候因為不滿足while函式的迴圈條件,所以退出迴圈,最後編譯、連線、執行得到結果120。
四、結構化程式設計方法
1、自頂向下;
2、逐步細化;
3、模組化設計;
4、限制使用goto語句。
五、複習
1、什麼是程式?
2、c語言允許的兩種注釋方式分別為?
3、c語言可以沒有輸出,這句話是否正確?
4、演算法有哪三種基本結構?
5、編寫乙個c程式,使其執行時輸出
******************************
hello,i am han yanhong!
******************************
遺忘演算法 演算法概述
一 遺忘演算法原理 能夠從未知的事物中發現關聯 提煉規律才是真正智慧型的標誌,而遺忘正是使用智慧型生物具備這一能力的工具,也是適應變化的利器,遺忘 這一頗具負能量特徵的傢伙是如何實現發現這麼個神奇魔法的呢?讓我們從巴甫洛夫的狗說起 狗聽到了鈴聲就知道開飯了。鈴聲和開飯之間並不存在必然的聯絡,我們知道...
常見演算法 概述
一 演算法概述 演算法是對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示乙個或多個操作。此外,乙個演算法還具有5個重要特性 有窮性 確定性 可行性 輸入 輸出。二 演算法設計 通常求解乙個問題可能會有多種演算法可供選擇,選擇的主要標準首先是演算法的正確性和可靠性 簡單性和易理解性...
排序演算法概述
所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排列起來的操作。不穩定排序演算法可能會在相等的鍵值中改變紀錄的相對次序,但是穩定排序演算法從來不會如此。排序大概分為四類 交換排序 包括氣泡排序,快速排序。選擇排序 包括直接選擇排序,堆排序。插入排序 包括直接插入排序,希爾排序...