數(shù)據(jù)結(jié)構(gòu)一(基本概念)

程序結(jié)構(gòu) = 數(shù)據(jù)結(jié)構(gòu) + 算法

一.數(shù)據(jù)結(jié)構(gòu)緒論

1.1.數(shù)據(jù)結(jié)構(gòu)作用

數(shù)據(jù)結(jié)構(gòu)是一門關(guān)于非數(shù)值計算的程序設(shè)計問題的操作對象,以及它們之間的關(guān)系和操作等相關(guān)問題的學科

1.2基本概念和術(shù)語

1.21數(shù)據(jù)
數(shù)據(jù):是描述客觀事物的符號,是計算機中可以操作的對象,是能別計算機識別,并輸入給計算機處理的符號集合

數(shù)據(jù)不僅包括整型,實型等數(shù)據(jù)類型,還包括字符及聲音,圖像,視頻等非數(shù)值類型
這里說的數(shù)據(jù),就是符號,符號必須具備兩個前提:

  • 可以輸入到計算機中
  • 能被計算機程序處理
    對于整型,實例等數(shù)據(jù)類型,可以進行數(shù)值計算
    對于字符數(shù)據(jù)類型,就需要進行非數(shù)值的處理.聲音,圖像,視頻其實可以通過編碼的手段進行字符數(shù)據(jù)來處理
1.22數(shù)據(jù)元素
數(shù)據(jù)元素:組成數(shù)據(jù)的,有一定意義的基本單位,在計算句中通常作為整體處理.也被稱為記錄

例子:人類:數(shù)據(jù)元素:你我他

1.23數(shù)據(jù)項

數(shù)據(jù)項:一個數(shù)據(jù)元素可以由若干個數(shù)據(jù)項組成
比如我整個數(shù)據(jù)元素:由眼,耳,鼻,手,等數(shù)據(jù)項組成,也可以有年齡,性別,出生年月日組成

數(shù)據(jù)項是數(shù)據(jù)不可分割的最小單位
1.24數(shù)據(jù)對象
數(shù)據(jù)對象:性質(zhì)相同的數(shù)據(jù)元素的集合,是數(shù)據(jù)的子集

性質(zhì)相同:指數(shù)據(jù)元素具有相同的數(shù)量和類型的數(shù)據(jù)項,比如:人有姓名,生日,性別等相同的數(shù)據(jù)項
數(shù)據(jù)對象是數(shù)據(jù)的子集

1.25數(shù)據(jù)結(jié)構(gòu)

結(jié)構(gòu)就是關(guān)系.比如分子結(jié)構(gòu),就是組成分子的原子之間的排列方式

不同數(shù)據(jù)元素之間不是獨立存在的,而是存在特定的關(guān)系,我們將這些關(guān)系成為結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu):是相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合

在計算機中,數(shù)據(jù)元素不是孤立,雜亂無序的,而是具有內(nèi)在聯(lián)系的數(shù)據(jù)集合.數(shù)據(jù)元素之間存在一種或多種特定關(guān)系,也就是數(shù)據(jù)的組織形式

1.3邏輯結(jié)構(gòu)與物理結(jié)構(gòu)
1.31邏輯結(jié)構(gòu)
邏輯結(jié)構(gòu):是指數(shù)據(jù)對象中數(shù)據(jù)元素之間的相互關(guān)系
  • 集合結(jié)構(gòu)

集合結(jié)構(gòu):集合結(jié)構(gòu)的數(shù)據(jù)元素除了同屬于一個集合外,它們好自己沒有其他的關(guān)系.數(shù)據(jù)元素之間是"平等的",共同屬性是:"同鼠疫一個集合"

集合結(jié)構(gòu)
  • 線性結(jié)構(gòu)

線性結(jié)構(gòu):線性結(jié)構(gòu)中的數(shù)據(jù)元素之間是一對一的關(guān)系

線性結(jié)構(gòu)
  • 樹形結(jié)構(gòu)

樹形結(jié)構(gòu):樹形結(jié)構(gòu)中的數(shù)據(jù)元素之間存在一種一對多的層次關(guān)系


樹形結(jié)構(gòu)
  • 圖形結(jié)構(gòu)

圖形結(jié)構(gòu):圖形結(jié)構(gòu)的數(shù)據(jù)元素是多對多的關(guān)系

圖形結(jié)構(gòu)

用示意圖表示數(shù)據(jù)的邏輯結(jié)構(gòu)時

  • 將每一個數(shù)據(jù)元素看成一個結(jié)點,用圓圈表示
  • 元素之間的邏輯關(guān)系用結(jié)點之間的連線表示,如果這個關(guān)系是有方向的,那么用帶箭頭的連線表示
1.4物理結(jié)構(gòu)
1.物理結(jié)構(gòu):是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的存儲結(jié)構(gòu)

數(shù)據(jù)是數(shù)據(jù)元素的集合,所以物理結(jié)構(gòu)的定義,就是如何把數(shù)據(jù)元素存儲到計算機的存儲器中.存儲器主要是針對內(nèi)存而言的,像硬盤,軟盤,光盤等外部存儲器的數(shù)據(jù)組織通常用文件結(jié)構(gòu)來描述
數(shù)據(jù)的存儲結(jié)構(gòu)正確反映數(shù)據(jù)元素之間的邏輯關(guān)系.

數(shù)據(jù)元素的存儲結(jié)構(gòu)形式有兩種:順序結(jié)構(gòu),和鏈式結(jié)構(gòu)
  • 1.順序存儲結(jié)構(gòu)

順序存儲結(jié)構(gòu):是把數(shù)據(jù)元素存放在 地址連續(xù)的存儲單元里,其數(shù)據(jù)間的邏輯關(guān)系和吳磊關(guān)系是一致的

順序存儲結(jié)構(gòu)
  • 2.鏈式存儲結(jié)構(gòu)

面對時常發(fā)生變化的結(jié)構(gòu),順序存儲是不可以的,那就需要鏈式存儲結(jié)構(gòu)
鏈式存儲結(jié)構(gòu):是吧數(shù)據(jù)元素存放在任意的存儲單元里,這組存儲單元可以是連續(xù)的,也可以是不連續(xù)的. 數(shù)據(jù)元素的存儲關(guān)系并不能反映其邏輯關(guān)系,所有需要用一個指針存放數(shù)據(jù)元素的地址,這樣通過地址就可以找到相關(guān)數(shù)據(jù)元素的位置

鏈式存儲

鏈式存儲的前一個元素存放后一個元素的地址

總結(jié):

數(shù)據(jù)結(jié)構(gòu)
結(jié)構(gòu)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容