tft每日頭條

 > 科技

 > 第二講數據結構

第二講數據結構

科技 更新时间:2024-11-23 19:55:17

第二講數據結構(數據結構的基本概念)1

本節目錄

一、數據結構基本概念之間的關系思維導圖

基本概念和術語?

1. 數據

2. 數據元素

3. 數據項(屬性、字段)

4. 數據對象

5. 數據結構

二、 邏輯結構和物理結構(存儲結構)

1. 邏輯結構

1) 定義

2) 分類(線性結構和非線性結構)

2. .物理結構(存儲結構)

1) 定義

2) 順序存儲和鍊式存儲

3) 其他存儲方式

3.數據結構操作

三、數據類型和抽象數據類型

1) 數據類型

2) 抽象數據類型

四、數據類型和抽象數據類型

1) 定義

2) 數據結構和數據類型關系

第二講數據結構(數據結構的基本概念)2

一、數據結構基本概念之間的思維導圖

1、數據:描述客觀事物屬性的數、字符及所有能被輸入到計算機中并被計算機程序識别和處理的符号的集合。

解釋:數據不僅包括整形、實型等數值類型,還包括字符及聲音、圖像、視頻等非數值類型。 數據必須具備兩個前提:(1)可以輸入到計算機中;(2)能被計算機程序處理。對于整型、實型等數值類型,可以進行數值計算;而對于字符數據類型,就需要非數值的處理;而聲音、圖像、視頻等可以通過編碼的手段變成字符數據來處理。

2、數據元素:數據元素是組成數據的基本單位,通常稱為記錄。

解釋:比如 畜類 牛、馬、羊、雞、豬、狗等動物當然就是畜類的數據元素。

3、數據項:不可分割的最小單位,具有獨立含義。

解釋:一個數據元素由若幹個數據項組成。

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

解釋:什麼叫性質相同呢?是指數據元素具有相同數量和類型的數據項,比如人 這個例子,都有姓名、生日、性别等相同的數據項。 既然數據對象是數據的子集,在實際應用中,處理的數據元素通常具有相同性質,在不産生混淆的情況下,我們将數據對象簡稱為數據。

第二講數據結構(數據結構的基本概念)3

圖(2)數據、數據對象、數據元素、數據項關系圖解

5.數據結構(Data Structure):相互之間存在一種或多種特定關系的數據元素的集合。

解釋:數據元素都不是孤立存在的,它們之間存在某種關系,這些數據元素之間的關系稱為結構(structure)。在現實世界中,不同數據元素之間不是獨立的,而是存在特定的關系,這些關系稱為結構。數據結構是相互之間存在一種或多種特定關系的數據元素的集合。

數據結構包括三方面的内容:邏輯結構、存儲結構和數據的運算。數據的邏輯結構和存儲結構是密不可分的兩個方面,一個算法的設計取決于所選定的邏輯結構,而算法的實現依賴于所采用的存儲結構。

一、邏輯結構和物理結構(存儲結構)

1. 邏輯結構

1) 定義

邏輯結構是指數據對象中數據元素之間相互關系(邏輯關系),即從邏輯關系上描述數據。它與數據的存儲無關,是獨立于計算機存儲器的。

2)分類(線性結構和非線性結構)

根據數據元素之間關系的不同特征,通常有下列4類基本結構,複雜程度依次遞進。

集合:結構中的數據元素之間除了同屬于一個集合外,沒有其他的關系。

線性結構:線性結構中的數據元素之間是一對一的關系。

樹形結構:樹形結構中的數據元素之間是一對多的關系。

圖狀結構或網狀結構:結構中的元素之間是多對多的關系

2.物理結構(存儲結構)

1)定義

數據的物理結構是指數據的邏輯結構在計算機中的存儲方式。又稱存儲結構。

它研究的是數據結構在計算機中的實現方法,包括數據元素的表示和元素之間的關系。

數據元素的存儲結構形式主要有兩種:順序存儲和鍊式存儲

2)順序存儲和鍊式存儲

①順序存儲結構

是利用數據元素在存儲器中的相對位置來表示數據元素之間的邏輯順序。

順序存儲結構是把數據元素放在地址連續的存儲單元中,程序設計中使用數組類型來實現。(邏輯相鄰物理相鄰)

第二講數據結構(數據結構的基本概念)4

圖(3)順序結構示意圖

②鍊式存儲結構

利用節點中指針來表示數據元素之間的關系。

把數據元素存儲在任意的存儲單元裡,這組存儲單元可以是連續的,也可以是不連續的,程序設計中使用指針類型來實現。(邏輯相鄰物理不一定相鄰

第二講數據結構(數據結構的基本概念)5

圖(4)鍊式結構示意圖

3)其他存儲方式

索引存儲:類似于目錄,以後可以聯系操作系統的文件系統章節來理解。

第二講數據結構(數據結構的基本概念)6

圖(5)索引存儲結構示意圖

散列存儲:通過關鍵字直接計算出元素的物理地址

1. 數據結構的操作

即在數據的邏輯結構上已定義的操作,在數據的存儲結構上實現。最常用的數據運算:插入、删除、修改、查找、排序

三、數據類型和抽象數據類型

第二講數據結構(數據結構的基本概念)7

圖(6)數據類型分類圖

1. 數據類型

數據類型:是一個值的集合以及定義在這個值集上的一組操作。數據類型的分類為:原子類型和結構類型。

解釋:為什麼要有數據類型:計算機中内存也是有限的,為了提高内存使用效率,不浪費空間,自然是需要設計出數據類型來劃定多大數據占多大内存空間,就有了數據類型。

2. 抽象數據類型

抽象數據類型(Abstract Data Type,ADT)是指一個數學模型以及定義在這個模型上的一組操作。抽象數據類型的定義僅僅取決于它的一組邏輯特性,而與它在計算機中的表示和實現無關。

解釋:抽象數據類型,泛指除基本數據類型以外的數據類型。

基本數據類型被認做是最基本、不可再劃分的數據,一般就是整形、浮點型、以及字符型。抽象數據類型是由若幹基本數據類型歸并之後形成的一種新的數據類型,這種類型由用戶定義,功能操作比基本數據類型更多,一般包括結構體和類。其實說白了,抽象數據類型就是把一些有一定關聯的基本數據類型打包,然後當做新的數據類型使用。下圖(7)是抽象數據模型标準格式:

第二講數據結構(數據結構的基本概念)8

圖(7)抽象數據類型的标準格式

1. 數據結構和數據類型之間的關系

數據結構是一種值(值=數據元素)的集合(根據數據結構的定義,隻是給“值的集合”加了個約束:數據元素相互之間存在一種或多種特定關系,所以可以把數據結構看作一種值的集合),這種值集 定義在值集上的一組操作就是結構類型,而結構類型是數據類型的一種,所以數據結構是一種數據類型。

第二講數據結構(數據結構的基本概念)9

圖(6)數據類型、原子類型、結構類型、數據結構之間的關系

參考文獻:

(1) 《數據結構》(劉大有,楊博等編著)

(2) 《算法導論》(托馬斯·科爾曼等編著)

本人由作者整理而成,同時參照多本教程以及網絡論文,如果有錯誤的地方,希望讀者指出。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved