1. 基本概念和術(shù)語
1)數(shù)據(jù)
數(shù)據(jù)(Data)是信息的載體,是可以被計算機識別,存儲并加工處理的描述客觀事物的信息符號的總稱。數(shù)據(jù)不僅僅包括了整形,浮點數(shù)等數(shù)值類型,還包括了字符甚至聲音,視頻,圖像等非數(shù)值的類型。
2)數(shù)據(jù)元素
數(shù)據(jù)元素(Data Element)是描述數(shù)據(jù)的基本單位,也被稱為記錄。一個數(shù)據(jù)元素有若干個數(shù)據(jù)項組成。
如禽類,雞鴨都屬于禽類的數(shù)據(jù)元素。
3)數(shù)據(jù)項
數(shù)據(jù)項(Data Item)是描述數(shù)據(jù)的最小單位,其可以分為組合項和原子項:
a)組合項
如果數(shù)據(jù)元素可以再度分割,則每一個獨立處理單元就是數(shù)據(jù)項,數(shù)據(jù)元素就是數(shù)據(jù)項的集合。
b)原子項
如果數(shù)據(jù)元素不能再度分割,則每一個獨立處理的單元就是原子項。
如日期2019年4月25日就是一個組合項,其表示日期,但如果單獨拿25日這個數(shù)據(jù)出來觀測,這就是一個原子項,因為其不可以再分割。
4)數(shù)據(jù)對象
數(shù)據(jù)對象(Data Object)是性質(zhì)相同的一類數(shù)據(jù)元素的集合,是數(shù)據(jù)的一個子集。數(shù)據(jù)對象可以是有限的,也可以是無限的。
5)數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)(Data Structures)主要是指數(shù)據(jù)和關(guān)系的集合,數(shù)據(jù)指的是計算機中需要處理的數(shù)據(jù),而關(guān)系指的是這些數(shù)據(jù)相關(guān)的前后邏輯,這些邏輯與計算機儲存的位置無關(guān),其主要包含以下四大邏輯結(jié)構(gòu)。
2. 四大邏輯結(jié)構(gòu)(Logic Structure)
1) 集合結(jié)構(gòu)
集合結(jié)構(gòu)(Set Structure)中所有數(shù)據(jù)元素除了同屬于一個集合外,并無其他關(guān)系。
如圖:
2) 線性結(jié)構(gòu)
線性結(jié)構(gòu)(Linear Structure)指的是數(shù)據(jù)元素之間存在“一對一的關(guān)系”
如圖:
3) 樹形結(jié)構(gòu)
樹形結(jié)構(gòu)(Tree Structure)指的是數(shù)據(jù)元素之間存在“一對多”的層次關(guān)系。
如圖:
4) 圖形結(jié)構(gòu)
圖形結(jié)構(gòu)(Graphic Structure,也稱:網(wǎng)狀結(jié)構(gòu))指的是數(shù)據(jù)元素之間存在“多對多的關(guān)系”(注:此時的“多對多”中的多表示,至少有一個)
圖示:
3.數(shù)據(jù)類型
1) 數(shù)據(jù)類型
數(shù)據(jù)類型(Data Type)是高級程序設(shè)計語言中的概念,是數(shù)據(jù)的取值范圍和對數(shù)進行操作的總和。數(shù)據(jù)類型規(guī)定了程序中對象的特性。程序中的每一個變量,常量或者表達式都屬于一種數(shù)據(jù)類型。
2) 抽象數(shù)據(jù)類型
抽象數(shù)據(jù)類型(Abstract Data Type,ADT)只是一個數(shù)學(xué)模型以及定義在模型上的一組操作。通常是對數(shù)據(jù)的抽象,定義了數(shù)據(jù)的取值范圍以及對數(shù)據(jù)操作的集合。
抽象數(shù)據(jù)類型的特征是實現(xiàn)與操作分離,從而實現(xiàn)封裝。
我們拿《魂斗羅》做比方:我們給予主角打,跳,移動的基本操作,這些操作就可以看作是抽象數(shù)據(jù)類型,這一組操作就屬于一個模型,這組抽象的數(shù)據(jù)類型可以在《魂斗羅》這個環(huán)境中使用。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點擊了解:
一點編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進階課程
從零到寫出一個爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍橋杯輔導(dǎo)課程