前言
打算從新整理一下數據結構,在此先整理一些名詞,介紹數據結構的概念
正文
什麼是數據
數據是描述客觀事物的符號,是計算機中可以操作的對象,是能被計算機識別,並輸入給計算機的符號集合。數據不僅包括整型,實體等數值類型,還包括字符及聲音、圖像、視頻等非數值類型.
數據元素
是組成數據的,有一定意義的基本單位,在計算機中通常作爲整理處理。也被稱爲記錄.
比如禽類,那麼數值元素是雞鴨等禽類.
數據項
一個數據元素可以由若干個數據項組成。
數據項是數據的最小基本單位。
數據對象
數據對象是性質相同的數據元素的集合,是數據的子集。
什麼叫性質相同呢,是指數據元素具有相同數量和類型的數據項,人都有姓名、生日、性別等相同的數據項。
數據結構
在計算機中,數據元素並不是孤立的,雜亂無序的,而是具有內在聯繫的數據集合。數據元素之間存在的一種或多種的特定關係,也就是數據的組織形式。
數據結構是什麼?
數據結構分爲邏輯結構和物理結構。
什麼是邏輯結構什麼又是物理結構
邏輯結構:
是指數據對象中,數據元素之間的相互關係。
其實很好理解的一個問題
比如禽類,我們之所以定義禽類這個東西呢?是因爲雞鴨等動物具有相同的特點,那麼這個時候就定義了這個禽類。是的,邏輯結構一樣是這個意思,不只是數據結構的邏輯,其他邏輯結構也一樣。
物理結構:
是指數據的邏輯結構在計算機的存儲形式.
邏輯結構
邏輯結構基本可以分爲4類。
集合結構:
在集合結構中,每個數據元素是一個平等的概念,就像一個國家的人,生活在一個大集體中,然後把這個國家定義爲國家.
線性結構:
線性結構中的數據元素存在一對一的關係。這並不是說中國的夫妻一對一。可能比較像這樣的,a喜歡b,b喜歡c,c喜歡d,這種喜歡就成了一個線性關係。
樹形結構:
這是一個非常經典的結構了,到底有多麼經典?這個不同啥介紹。
圖形結構:
可以比作一個線條,亂的很的呢。比如一個村的他大姑八大姨,親戚關係複雜的一批。
物理結構
順序存儲結構:
那地址來說吧,比如計算中分配了100,101,存的形式先存100然後下一個那是101.
鏈式存儲:
這個時候這樣解釋吧,list結果,有一個next(),這個時候就是鏈式存儲了。
依然拿地址來說,比如說分配了一批地址在內存中。1000-1100
第一個數字存1000,第二個可能就存在1005了。當然這種模式有一個很大的問題,比如說我們只有next無法推斷x【5】是多少。
這種存儲比較自由。