資料結構系列1
啥是資料結構?
資料結構是計算機存盤,組織資料的方式,就是怎么存盤資料的意思
啥是資料
資料:是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,并給計算機處理的符號集合
資料元素:是組成資料的,有一定意義的基本單位,在計算機中通常作為整體處理,也被稱為記錄
資料項:一個資料元素可以由若干資料項的組成
資料物件:是性質相同的資料元素的集合,是資料的子集
啥是結構
邏輯結構,物理結構
**
邏輯結構:是指資料物件中資料元素之間的相互關系,包括集合結構,線性結構,圖形結構
**
集合結構:集合結構中的資料元素除了同屬一個集合外,他們之間沒有其他關系

線性結構:線性結構中的資料之間是一對一的關系

圖形結構:圖形結構的資料元素是多對多的關系

樹形結構:樹形結構中的資料之間是一對多的層次關系

物理結構:是指資料的邏輯結構在計算機中的存盤形式,順序存盤和鏈式存盤,
順序存盤:是把資料元素存放在地址連續的存盤單元里,
鏈式存盤:是把資料元素存放在任意的存盤單元里,這組存盤單元可以是連續的,也可以是不連續的,
各位大佬對資料結構的見解

Sartaj Sahni在他的《資料結構、演算法與應用》一書中稱:“資料結構是資料物件,以及存在于該物件的實體合組成實體的資料元素之間的各種聯系,這些聯系可以通過定義相關的函式來給出,”他將資料物件(data object)定義為“一個資料物件是實體或值的集合”,

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

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

個人:資料結構包括資料物件集以及它們在計算機中的組織方式,即它們的邏輯結構和物理存盤結構,同時還包括與資料物件集相關的操作集,以及實作這些操作的最高效的演算法,拿我們生活中的圖書館藏書舉例,就是把圖書館中的書轉化為一些字符資料存入電腦中,以及對這些資料物件集的操作,如找書,擺放放書等,
什么是演算法?
還是圖書館的例子,如果一本一本找累死人,要是有個索引,先找哪一類這樣會快很多,如何查找其實就是演算法,
演算法是解決問題步驟的有限集合,通常用某一種計算機語言進行偽碼描述,通常用時間復雜度和空間復雜度來衡量演算法的優劣,
演算法的五大特征:輸入、輸出、有窮性、確定性、可行性,
輸入:零個或多個輸入,
輸出:一個或多個輸出,
有窮性:有限步驟后在可接受時間內完成,
確定性:每個步驟都有確定含義,無二義性,
可行性:每一步都是可行的,
演算法設計要求:正確性、可讀性、健壯性、時間效率高和存盤低,
正確性:有輸入輸出,無二義性,有正確答案,
可讀性:方便閱讀,
健壯性:輸入不合法能處理
時間效率高和存盤低:時間空間復雜度越低越好,
以上就是資料結構與演算法系列1 什么是資料結構和演算法,后面我會繼續更新,寫作不易,請各位老鐵點個贊支持一下,覺得有幫助的也可以收藏呀,我會經常更新文章,也可以關注我呀

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/2201.html
標籤:其他
