欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2630|回復: 0
打印 上一主題 下一主題
收起左側

算法

[復制鏈接]
跳轉到指定樓層
樓主
ID:70976 發表于 2014-12-25 20:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

對于算法的描述有很多方法,如自然語言、流程圖、計算機語言和偽代碼等,其中使用最廣泛的是流程圖。流程圖主要有傳統的流程圖和N-S流程圖。
1.傳統的流程圖
傳統的流程圖采用特定符號描述算法,常用的符號及其功能如下:


傳統流程圖的特點是算法描述靈活自由,形象直觀。但是由于它允許使用流程線任意轉移,這在程序設計時留下隱患。如果在程序中允許流程毫無限制地任意轉移,就會使程序如同一團亂麻,難以閱讀和維護。于是有人提出了結構化程序設計的思想,主張限制這種無規律的任意轉向,而用3種基本結構作為構成程序的基本單位。這樣就限制了流程線的使用。也就是說,結構化程序可以不采用帶流程線的傳統流程圖來描述算法,而用N-S流程圖來描述。

2.N-S流程圖
N-S流程圖是一種新的流程圖形式,在這種流程圖中,完全去掉了帶箭頭的流程線,全部算法寫在一個矩形框內,在該矩形框內還可以包含其它的從屬于它的框。N-S流程圖很適于表示結構化程序算法。
與結構化程序設計思想相對應,N-S流程圖中有3種最基本的結構,它們分別是:順序結構、分支結構和循環結構,如下圖所示:

(1)順序結構
它表示A和B兩個框組成一個簡單的順序結構,在執行完A框操作之后,順序執行B框操作。
(2)分支結構
它表示當條件成立時執行A框操作,條件不成立時執行B框操作。
(3)循環結構
循環結構有兩種情況,一種是當型循環情況,它表示當型條件成立時重復執行A框操作,條件不成立時結束循環;還有一種是直到型循環結構,它表示重復執行A框操作,直到條件成立為止。
N-S流程圖的每個基本結構都是一個矩形框,在一個基本結構中可以嵌套另一個基本結構,整個算法可以像堆積木一樣堆成,三種基本結構組成的算法能夠解決任何復雜問題。

N-S流程圖保留了傳統流程圖形象直觀地表示算法的優點,但去掉了容易導致非結構化的流程線。使用N-S流程圖設計算法可以使自己養成結構化程序設計的良好風格,但N-S流程圖的修改不大方便。

算法是解決某一問題的方法和步驟。程序實際上就是用計算機語言描述的算法。程序設計時應認真分析問題,找出合適的算法和數據結構。解決同一問題的算法可能有很多,但它們的效率卻可能相差很多,選擇合適的算法可能會大大降低程序設計的復雜程序,提高程序的運行效率和存儲效率。
計算機所能執行的算法必需具備以下幾個特性:
(1)有窮性
算法是一個有窮的計算機操作的序列,即計算機可以按照算法的規定從一個惟一的初始動作開始,經過執行有限次數的操作后終止。
(2)可行性
算法中規定的每個操作都是計算機可以執行的基本操作。
(3)確定性
算法中的每個操作應執行何種動作必須是確定的(即無二義性)且每個操作都只有一個后繼操作。對于一組給定的數據,同一個算法對應的程序在計算機上的執行過程是可以再現的,執行結果也是確定的。
(4)輸入
一個算法可以有0個或多個輸入,即算法中要用到的一組初始數據,可以在算法中確定,也可以在程序運行時由用戶通過輸入設備(如鍵盤)輸入到計算機中。
(5)輸出
一個算法必須產生一個或多個輸出,即程序在運行時將產生一組與輸入的初始數據相對應的輸出數據。一個沒有輸出的算法是沒有任何意義的。

計算機所能執行的算法必需具備以下兩個要素:
(1)操作
即構成算法的操作取自哪個操作集。計算機操作主要包括:算術運算、關系運算、邏輯運算、函數運算、位運算及I/O操作等。由于不同的計算機語言對應的操作集略有不同,所以在設計算法前,應先確定編程語言。
(2)控制結構
即如何控制算法中的各操作的執行順序。通常情況下,各操作是按照書寫的順序執行的,若要改變這種執行順序可以通過流程控制語句來實現。不同的計算機語言中的流程控制語句也有所不同。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表