更新時間:2022-10-27 來源:黑馬程序員 瀏覽量:
眾所周知,計算機(jī)的基本功能大多基于對數(shù)據(jù)的操作,但當(dāng)數(shù)據(jù)較多時,特別是在如今的數(shù)據(jù)時代,數(shù)據(jù)量越來越龐大,該如何組織這些數(shù)據(jù),使之能被更高效地處理呢?例如,統(tǒng)計今年新入學(xué)的學(xué)生信息,包括姓名、年齡、學(xué)號、籍貫等,要想在這一大堆數(shù)據(jù)中高效地進(jìn)行插入、刪除、查找、修改等操作,就要將這些數(shù)據(jù)合理地組織起來,例如將這些數(shù)據(jù)制作成表,如圖1-1所示,這種表就可以稱為一種數(shù)據(jù)結(jié)構(gòu)。
圖1-1學(xué)生信息表
數(shù)據(jù)結(jié)構(gòu)是計算機(jī)存儲、組織數(shù)據(jù)的方式,它是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。在計算機(jī)中,數(shù)據(jù)元素并不是孤立的、雜亂無序的,而是按照一定的內(nèi)在聯(lián)系存儲起來的,這種數(shù)據(jù)之間的內(nèi)在聯(lián)系就是數(shù)據(jù)結(jié)構(gòu)的組織形式。例如圖1-1中的數(shù)據(jù)以企種線性表的形式組織起來。除此之外,數(shù)據(jù)還可以以其他方式組織起來,如圖書館藏書數(shù)據(jù)可以組織為索引表的形式,火車站排隊買票可以組織為隊列的形式,家庭族譜可以組織為樹的形式,同學(xué)、朋友之間的關(guān)系可以組織為圖的形式等等。這些所謂的索引表、隊列、樹、圖都是一種數(shù)據(jù)結(jié)構(gòu)。
在深入學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)之前,先來學(xué)習(xí)其中的幾個基本概念和術(shù)語,學(xué)習(xí)這些概念術(shù)語對以后理解數(shù)據(jù)結(jié)構(gòu)會有幫助。
1.數(shù)據(jù)
數(shù)據(jù)是指能直接輸入計算機(jī)中,被計算機(jī)處理的符號和被計算機(jī)操作的對象。數(shù)據(jù)不僅包括整型、實型等數(shù)值數(shù)據(jù),也包括聲音、視頻、圖像等非數(shù)值數(shù)據(jù)。總的來說,數(shù)據(jù)就是計算機(jī)處理的符號。要注意,數(shù)據(jù)有兩個必備條件:能直接輸入計算機(jī),能被計算機(jī)直接處理。隨著計算機(jī)的發(fā)展,數(shù)據(jù)的范圍也在不斷地擴(kuò)大。
2.數(shù)據(jù)元素
數(shù)據(jù)元素是數(shù)據(jù)結(jié)構(gòu)中基本的獨(dú)立單位,它也被叫作元素、結(jié)點(diǎn)、記錄等。如圖1-1中學(xué)生信息表的第一條記錄“001奧普男美國”即為表中的一個元素。在復(fù)雜的數(shù)據(jù)結(jié)構(gòu)中,數(shù)據(jù)元素往往由若干個數(shù)據(jù)項組成,數(shù)據(jù)項是具有獨(dú)立含義的最小標(biāo)識單位,也稱為字段或域。如“001奧普男美國”這個數(shù)據(jù)元素由001(學(xué)生編號)、奧普(姓名)、男(性別)、美國(國籍)4個數(shù)據(jù)項組成。
3.數(shù)據(jù)對象
數(shù)據(jù)對象是性質(zhì)相同的數(shù)據(jù)元素的集合。所謂性質(zhì)相同是指數(shù)據(jù)元素具有相同數(shù)量和類型的數(shù)據(jù)項。數(shù)據(jù)對象是數(shù)據(jù)的一個子集。如圖1-1的學(xué)生信息表就是一個數(shù)據(jù)對象,這個數(shù)據(jù)對象中的數(shù)據(jù)元素都是由“學(xué)號”“姓名”“性別”“國籍”4個相同的數(shù)據(jù)項組成的;班級中全部女生的信息也是一個數(shù)據(jù)對象,它是班級學(xué)生信息的一個子集。通常簡稱數(shù)據(jù)對象為數(shù)據(jù),如圖1-1中的學(xué)生信息表可稱為一份數(shù)據(jù)。
數(shù)據(jù)結(jié)構(gòu)以某種內(nèi)在聯(lián)系將由數(shù)據(jù)項組成的數(shù)據(jù)元素組織成為一個數(shù)據(jù)對象,在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)時重在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的組織形式以及相關(guān)運(yùn)算。數(shù)據(jù)結(jié)構(gòu)不但是計算機(jī)學(xué)科的理論基礎(chǔ)之一,也是軟件開發(fā)的必備基礎(chǔ),因此,無論是從事計算機(jī)行業(yè),還是希望在計算機(jī)方面繼續(xù)深造,都應(yīng)該好好學(xué)習(xí)這門課。