首頁 > 常見問題 > 資料結構中什麼是演算法

資料結構中什麼是演算法

hzc
發布: 2020-06-24 11:37:23
原創
3983 人瀏覽過

資料結構中什麼是演算法

什麼是資料結構?

Sartaj Sahni在他的《資料結構、演算法與應用》一書中稱:「資料結構是資料對象,以及存在於該物件的實例合組成實例的資料元素之間的各種聯繫。這些聯繫可以透過定義相關的函數來給出。」他將資料物件(data object)定義為「一個資料物件是實例或值的集合」。

Clifford A.Shaffer在《資料結構與演算法分析》一書中的定義是:「資料結構是ADT(抽象資料類型Abstract Data Type) 的物理實作。」

大話資料結構:資料結構是相互之間存在一種或多種特定關係的資料元素的集合。

姥姥:資料結構包括資料物件集以及它們在電腦中的組織方式,即它們的邏輯結構和物理儲存結構,同時還包括與資料物件集相關的操作集,以及實現這些操作的最高效的演算法。

個人:就是把圖書館中的書轉換成一些字元資料存入電腦中,以及這些資料物件集的操作。如找書,擺放書等。

什麼是演算法?

還是圖書館的例子,如果一本一本找累死人,如果有索引,先找哪一類這樣會快很多。如何找其實就是演算法。

演算法是解決問題步驟的有限集合,通常用某一種電腦語言進行偽碼描述。通常用時間複雜度和空間複雜度來衡量演算法的優劣。

演算法的五大特徵:輸入、輸出、有窮性、確定性、可行性。

輸入:零個或多個輸入。

輸出:一個或多個輸出。

有窮性:有限步驟後在可接受時間內完成。

確定性:每個步驟都有確定意義,無二義性。

可行性:每一步都是可行的。

演算法設計需求:正確性、可讀性、健全性、時間效率高和儲存低。

正確性:有輸入輸出,無二義性,有正確答案。

可讀性:方便閱讀。

健全性:輸入不合法能處理

時間效率高且儲存低:時間空間複雜度越低越好

以上是資料結構中什麼是演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板