熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

數據結構概論之算法的描述和分析[1]

2013-11-15 15:43:16  來源: 數據結構 

算法

 一個算法一般具有下列五個重要特性
  有窮性一個算法必須總是在執行有限步之後結束
  確定性算法中的每一條指令必須有確切的含義不能產生多義性
  可行性算法中的每一條指令必須是切實可行的即原則上是可以通過已經實現的基本運算執行有限次來實現的
  輸入一個算法有零個或多個輸入這些輸入取自於特定對象的集合
  輸出一個算法有一個多個輸出這些輸出是同輸入有某個特定關系的量
 描述算法的一些要求和規則
  正確性正確一詞在含義上大體分為四個層次

  程序不含語法錯誤
   程序對幾組輸入數據能給出滿足規格說明要求的結果
   程序對精心選擇的典型的苛刻而帶有刁難性的幾組輸入數據能給出滿足規格說明要求的結果
   程序對一切合法的輸入數據都能給出滿足規格說明要求的結果
  可讀性算法主要是為了人的閱讀其次才是機器的執行可讀性有助於人對算法的理解
  健壯性當輸入數據非法時算法也能適當的作出反應或進行處理而不會產生莫名其妙的結果
  效率和低存儲量需求一般來說效率指的是算法執行的時間存儲量制的是算法執行過程中需要的最大存儲空間這兩者都與問題的規模有關
  其中第 項要求是其它所有要求的基礎離開了正確性其它一切問題都談不上其次算法的效率是一切算法設計者所追尋的目標算法的效率是直接影響算法在實際情況中的表現效率的高低很可能就決定了這個算法是否有實用價值

算法描述語言

   因為考慮到大多數同學都已經學過 C 語言在這門課程的教學過程中我們將采用 C 語言作為算法描述語言如果讀者想復習以下C語言的基本語法在這裡復習
  命名規則
    任意字母開頭由字母數字組成的任意長度的字符串
  變量及數組
    為簡單起見變量在使用前不需聲明但每一變量一經使用便有一確定類型不再更改
    數組的格式如 C 語言的規定int a[n] 的數組由 a[] 到 a[n]共有 n 項
  布爾運算
    AND 與運算
    OR 或運算
    NOT 非運算
    CAND 帶短路的與運算
    COR 帶短路的或運算
  賦值語句
    簡單賦值變量名 = 表達式
    成組賦值(變量名變量名K)= (表達式表達式K)
        結構名 = 結構名
    交換賦值變量名 <> 變量名 
  分支語句
    IF (條件)
    語句
    IF (條件)
     語句
    ELSE
     語句
    SWITCH (條件)
     CASE 值語句;
     
     
     CASE 值K語句K;
     DEFAULT 語句K+;
    ENDC

[]  []  


From:http://tw.wingwit.com/Article/program/sjjg/201311/23843.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.