重讀資料結構——嚴蔚敏C語言版

來源:互聯網
上載者:User

第一章 緒論

“資料結構”是介於數學、電腦硬體和電腦軟體三者之間的一門核心課程      

資料(data)是對客觀事物的符號表示,在電腦科學中是指所有能輸入到電腦中並被電腦程式處理的符號的總稱。

資料元素(data element)是資料的基本單位,在電腦程式中痛處作為一個整體進行考慮和處理。資料項目是資料的不可分割的最小單位。

資料對象(data object) 是性質相同的資料元素的集合,是資料的一個子集。

資料結構(data structure) 是相互之間存在一種或多種特點關係的資料元素的集合。

        基本結構: 集合——結構中的資料元素之間除了“同屬於一個集合”的關係外,別無其他關係;

                            線性結構——結構中的資料元素之間存在一個對一個的關係;

                            樹形結構——結構中的資料元素之間存在一個對多個的關係;

                            圖狀結構或網狀結構——結構中的資料元素之間存在多個對多個的關係。

結構定義中的“關係”描述的是資料元素之間的邏輯關係,稱為資料的邏輯結構;資料結構在電腦中的表示(映像)稱為資料的物理結構,又稱為儲存結構

一個含有抽象資料類型的軟體模組通常應包含定義、表示和實現3個部分。抽象資料類型的定義由一個範圍和定義在該範圍上的一組操作組成。按其值得不同特性可細分為:

        原子類型 atomic data type 屬原子類型的變數的值是不可分解的。

        固定彙總類型 fixed-aggregate data type 屬該類型的變數,其值由確定數目的稱為按某種結構組成;

       可變彙總類型 variable-aggregate data type 構成可變彙總類型“值”的成分的數目不確定。

抽象資料類型三元組表示:(D, S, P)

        ADT抽象資料類型名 {

                資料對象:<資料對象的定義>

                資料關係:<資料關係的定義>

               基本操作:<基本操作的定義>

        }

       其中資料對象和資料關係的定義用偽碼描述,基本操作的定義格式為

      基本操作名(參數表)

              初始條件:<初始條件描述>

              操作結果:<操作結果描述>

演算法algorithm 是對特定問題求解步驟的一種描述,它是指令的有限序列,其中一條指令表示一個或多個操作;

演算法的重要特性:

    有窮性

    確定性

    可行性

    輸入

    輸出

演算法設計的要求:

    正確性correctness 演算法應當滿足具體問題的要求;

    可讀性 readability 演算法主要是為了人的閱讀與交流,其次才是機器執行;

    健壯性 robustness

    效率與地儲存量需求 效率指的是演算法執行的時間。

演算法效率的度量——時間複雜度

演算法的儲存空間儲存空間需求——空間複雜度space complexity

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.