小步前進之資料結構基礎

2022-01-24 14:46:37 字數 2262 閱讀 9444

物理結構

本文是對學習知識的總結,基於現有知識的基礎上加上個人理解,如果有侵權,必刪。

工作中crud了2年,是時候從頭開始沉澱,一步乙個腳印,做好乙個合格的程式設計師,在**的世界裡起舞。

要了解資料結構,首先使用文字拆分法,即資料 +結構,那什麼是資料呢?

其實,資料很好理解,你的家族就可以理解為乙個資料,顯而易見,家族成員們之間的關係就是結構。

這是對於我們而言,對於計算機來說:

資料,是描述客觀事物的符號,是所有計算機可操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合—《大話資料結構》

資料又分為資料元素、資料項、資料物件。

通俗來說,如果說人類是乙個資料,那人就是組成資料的資料元素,人的所有相關資訊都是資料項,例如姓名、年齡等。

資料項是資料不可分割的最小單位。—《大話資料結構》

結構,官方語言,組成整體的各部分的搭配和安排,通俗的說就是關係,比如你爸爸跟你是父子關係,爺爺跟你爸也是父子關係,這就是一種結構組成,即

資料元素和元素之間存在特定的關係為之結構。—《大話資料結構》

綜上所述,所謂的資料結構:

是相互之間存在一種或多種特定關係的資料元素的集合。—《大話資料結構》

既然說資料結構是一種特定的關係,那不同的關係即代表不同的結構,首先,從理論和實際上區分,資料結構可為邏輯結構和物理結構。

邏輯結構即資料元素之間的關係,例如你和你爸爸是父子關係,你和哥哥是兄弟關係,即

資料物件中資料元素之間的相互關係。—《大話資料結構》

邏輯結構大致分為集合、線性、樹形、圖形。

集合結構(人人平等,抱團行動)

集合可以理解為乙個班級內的所有學生,大家都是平等的。(現在知道為啥讀書都是操場集合了吧)

線性結構(老鷹捉小雞)

線性結構比較簡單,資料元素之間是一對一的,具體如下圖(記得當年我也是個高手)

樹形結構(綠油油的大樹)

樹形結構就比較容易理解了,跟它的名字一樣,就是乙個樹幹,有多個樹枝,每個樹枝上又有多片葉子,即一對多。(就是有點綠)

圖形結構(女人逛商場,就是買!買!買!)

圖形結構就是多對多的關係,大致理解成你可以向多個商家購買東西,乙個商家也可以接待多個顧客的這種微妙關係。

聊完了理論,我們聊聊實際,所謂的物理結構就是你在計算機上儲存資料的形式。

通俗的來說就是住哪,怎麼住,例如你爸爸在主臥住,而你在大廳打地鋪。

物理結構分為順序和鏈式結構。

順序結構

強行有十個格仔,對格仔進行順序編號,1-10,然後安排10個人站滿格仔,相應的格仔編號就是人的編號。這樣子要找對應的人就可以找對

應的編號即可,格仔和人的邏輯關係和物理關係是一致的,這即是順序結構。

順序結構是把元素放在位址連續的儲存單元裡,其資料間的邏輯關係和物理關係是一致的。—《大話資料結構》

鍊錶結構

事實上,不是所有人都是按規律來的,總有人插隊,還有人放棄排隊的,這樣動態變化的的結構,順序結構可頂不住,所以我們需要「自由」,即

可以隨意放置在任意的儲存單元裡,這組儲存單元可以連續可以不連續。—《大話資料結構》

在快餐店吃飯的時候,你點完單,服務員會給你乙個號碼牌,隨後你無論去**坐,飯菜做好了服務員會根據你的牌子給你送餐,其他人也是如此,這樣就不用傻站著排隊了,這就是鏈式關係的現實樣例。在計算機裡,這個號牌就是指標,這個指標指向你坐的位子,這樣就可以通過號牌找到你坐的位置。

對你有幫助或者學到東西,點個贊唄~~來個3連也可以啊。

資料結構,小步前進之線性表

鏈式儲存結構 鍊錶 顧名思義,就是具有線一樣的特質的表。表的元素像直線一樣排列。即 把所有資料用一根線兒串起來,再儲存到物理空間中 例如在學生的成績表中,乙個學生的姓名 學號 成績資訊為乙個結點,然後有乙個開始結點 它的前面沒記錄 和乙個終端結點 它的後面沒記錄 這種邏輯結構稱為線性表,請注意,是邏...

小步前進之WCF簡介

在 net framework2.0 以及前版本中,微軟發展了 web service net remoting 等通訊支援。如果要進行通訊,對於開發人員來說,不同的選擇會有不同的程式設計模型,且必須要重新學習,諸多不便。同時,面向服務架構 soa 也開始盛行於軟體工業中,因此微軟重新檢視了這些通訊...

小步前進之細談資料庫索引

從栗子話索引 當我們在遇到不懂的漢字的時候該怎麼辦?查字典。根據拼音查,根據部首查,這就是索引應用的例項。百科定義 索引是對資料庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問資料庫表中特定的資訊。資料庫索引的主要目的就是加快檢索表中的資料,好比一本書的目錄一樣,能幫助你快速定位。如果新華...