【數據結構(青島大學 王卓)】第1章 緒論 學習筆記(二)1.2 基本概念和術語1

目錄

1.2 基本概念和術語1

1、數據、數據元素、數據項和數據對象

(1)數據(Data)

(2)數據元素(Data Element)

(3)數據項(Data Item)

(4)數據對象(Data Object)

(5)數據元素與數據對象

2、數據結構(Data Structure)

(1)數據結構的兩個層次

(2)邏輯結構的種類

(3)存儲結構的種類


1.2 基本概念和術語1

1、數據、數據元素、數據項和數據對象

①數據(Data)。

②數據元素(Data Element)。

③數據項(Data Item)。

④數據對象(Data Object)。

(1)數據(Data)

數據是能輸入計算機且能被計算機處理的各種符號的集合。

①信息的載體。

②是對客觀事物符號化的表示。

③能夠被計算機識別、存儲和加工。

包括:

①數值型的數據:整數、實數等。

②非數值型的數據:文字、圖像、圖形、聲音等。

(2)數據元素(Data Element)

數據元素是數據的基本單位,在計算機程序中通常作爲一個整體進行考慮和處理。也簡稱爲元素,或稱爲記錄、結點或頂點。一個數據元素可由若干個數據項(Data Item)組成。

學生表
學號 姓名 性別 出生日期 政治面貌
0001 陸宇 1986/09/02 團員
0002 李明 1985/12/25 黨員
0003 湯曉影 1986/03/26 團員

(3)數據項(Data Item)

數據項是構成數據元素的不可分割的最小單位。

學籍表
學號 姓名 性別 出生日期 政治面貌
0001 陸宇 1986/09/02 團員
0002 李明 1985/12/25 黨員
0003 湯曉影 1986/03/26 團員

數據、數據元素、數據項三者之間的關係:數據>數據元素>數據項

例:學生表>個人記錄>學號、姓名……

(4)數據對象(Data Object)

數據對象是性質相同的數據元素的集合,是數據的一個子集。

例如:整數數據對象是集合N=\left \{ 0,\pm 1,\pm 2,... \right \};字母字符數據對象是集合C=\left \{ 'A','B',...,'Z' \right \};學籍表也可看作一個數據對象。

(5)數據元素與數據對象

①數據元素——組成數據的基本單位。

與數據的關係:是集合的個體。

②數據對象——性質相同的數據元素的集合。

與數據的關係是:集合的子集。

2、數據結構(Data Structure)

數據結構中數據元素不是孤立存在的,它們之間存在着某種關係 ,數據元素相互之間的關係成爲結構(Structure)。數據結構是指相互之間存在一種或多種特定關係的數據元素集合。或者說,數據結構是帶結構的數據元素的集合。

數據結構包括以下三個方面的內容:

①數據元素之間的邏輯關係,也稱爲邏輯結構。

②數據元素及其關係在計算機內存中的表示(又稱爲映像),稱爲數據結構的物理結構或數據的存儲結構。

③數據的運算和實現,即對數據元素可以施加的操作以及這些操作在相應的存儲結構上的實現。

(1)數據結構的兩個層次

邏輯結構是描述數據元素之間的邏輯關係;與數據的存儲無關,獨立於計算機;是從具體問題抽象出來的數學模型。

物理結構(存儲結構)是數據元素及其關係在計算機存儲器中的結構(存儲方式);是數據結構在計算機中的表示。

邏輯結構與存儲結構的關係:存儲結構是邏輯關係的映象與元素本身的映象;邏輯結構是數據結構的抽象,存儲結構是數據結構的實現;兩者綜合起來建立了數據元素之間的結構關係。

(2)邏輯結構的種類

劃分方法一:

①線性結構:有且僅有一個開始和一個終端結點,並且所有結點都最多隻有一個直接前驅和一個直接後繼。例如:線性表、棧、隊列、串。

學號 姓名 性別 籍貫 專業
60214201 楊陽 安徽 計算機科學與技術
60214202 薛林 福建 計算機科學與技術
60214215 王詩萌 吉林 計算機科學與技術
60214216 馮子晗 山東 計算機科學與技術

②非線性結構:

一個結點可能有多個直接前驅和直接後繼。例如:樹、圖。

劃分方法二——四類基本邏輯結構。

①集合結構:結構中的數據元素之間除了同屬於一個集合的關係外,無任何其它關係。

②線性結構:結構中的數據元素之間存在着一對一的線性關係。

③樹形結構:結構中的數據元素之間存在着一對多的層次關係。

④圖狀結構或網狀結構:結構中的數據元素之間存在着多對多的任意關係。

(3)存儲結構的種類

四種基本的存儲結構:順序存儲結構、鏈式存儲結構、索引存儲結構、散列存儲結構。

①順序存儲結構:用一組連續的存儲單元依次存儲數據元素,數據元素之間的邏輯關係由元素的存儲位置來表示。C語言中用數組來實現順序存儲結構。

例:(bat,cat,eat,……)。

②鏈式存儲結構:用一組任意的存儲單元存儲數據元素,數據元素之間的邏輯關係用指針來表示。C語言中用指針來實現鏈式存儲結構。

例:(bat,cat,eat,……,mat)。

③索引存儲結構:在存儲結點信息的同時,還建立附加的索引表。索引表中的每一項稱爲一個索引項,索引項的一般形式是:(關鍵字,地址),關鍵字是能唯一標識一個結點的那些數據項。若每個結點在索引表中都有一個索引項,則該索引表稱之爲稠密索引(Dense Index)。若一組結點在索引表中只對應一個索引項,則該索引表稱之爲稀疏索引(Sparse Index)

④散列存儲結構:根據結點的關鍵字直接計算出該結點的存儲地址。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章