C语言基础-基本算法
C語言基礎-基本算法
在之前的兩篇文章中介紹了C語言的入門程序入門程序1,入門程序2,從這篇文章我們就開始介紹C語言基礎。
今天來給大家介紹算法的特性和算法的表示。
算法的基本特性
算法包含兩方面的內容:算法設計和算法分析
算法設計其實就是針對某一特定類型的問題而設計的一個實現過程。算法有以下幾個特性:
- 有窮性
- 確定性
- 可行性
- 輸入
- 輸出
也就是說我們在設計算法是的滿足上面所說的特性。當然算法也是有好有壞的,那么我們怎樣去衡量一個算法的優劣呢?
算法分析其實就是在衡量一個算法的優劣,通常會從一下幾個方面來分析:
算法的表達方式
在描述一個算法時通常使用的方法有:自然語言、流程圖、N-S圖等。
自然語言
自然語言這種表達方式通俗易懂,我們通過一個具體的實例了解一下。
需求:任意輸入3個數,求出其中的最小數。
(1) 定義4個變量分別是a,b,c和min。
(2) 輸入大小不同的三個數分別賦值給a,b,c。
(3) 判斷a是否小于b,如果小于,則將a的值賦給min,否則將b的值賦給min。
(4) 判斷min是否小于c,如果小于,則執行(5),否則將c的值賦給min。
(5) 輸出min。
這種表達方式的好處就是簡單易懂,但是當遇到復雜的算法時自然語言就顯得不是很方便了。
流程圖
流程圖就是用一些圖框來代表各種不同性質的操作,用流程線來指示算法的執行方向。他的特點就是直觀形象,應用很廣泛。
下圖介紹了流程圖的符號以及含義
流程圖有三種基本結構,即順序結構、選擇結構和循環結構。
- 順序結構:順序結構就是簡單的線性結構
- 選擇結構:選擇結構也稱為分支結構
- 循環結構:反復執行一系列操作,知道條件不成立時終止。
我們再把上面的需求用流程圖來表示一下
N-S流程圖
N-S流程圖是將全部的算法寫在一個矩形框內,省去了流程圖中的流程線。下面繼續看一個實例:
需求:輸入一個數,判別是否為素數。
算法的基本特性和算法的表示介紹到就結束了。
往期文章
C語言學習入門01
C語言學習入門02
如果您覺得本篇文章對您有幫助,請轉發給更多的人
【C語言中文社區】是一個C語言視頻教程、學習筆記、電子書、計算機二級資料等專注于C語言編程學習者的干貨知識分享平臺,精選深度文章,分享優秀干貨類、技能類的學習資源,幫助學習中的你。
總結
以上是生活随笔為你收集整理的C语言基础-基本算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言基础-简单程序分析
- 下一篇: C语言基础-数据类型