在講線性結構和非線性結構之前,我們必須了解數據結構是什么,它包含什么內容,現在我用一個圖大概的表示一下。
數據結構就是一種計算機存儲的方式,比如說磁盤,磁盤是用鏈式存儲的,這樣可以節省內存空間。可以看到兩兩數據之間是存在關系的,他們可以通過這些關系來提高資源和存儲效率。
一、線性結構
線性結構最典型的數據關系就是一對一,它是一種有序數據的集合,什么叫有序呢?比如說一維數組,決定數組塊中的數據元素只有一個因素,也就是從左往右或者從右往左的行因素,而不是像二維和多維數組受行和列及更多因素影響,這就是一對一的關系。線性結構,除了第一個和最后一個數據元素之外,其它數據元素都是首尾相接的。
常用的線性結構有:線性表,棧,隊列,雙隊列,數組,串。
特點:
1.集合中必存在唯一的一個"第一個元素";
2.集合中必存在唯一的一個"最后的元素";
3.除最后元素之外,其它數據元素均有唯一的"后繼";
4.除第一元素之外,其它數據元素均有唯一的"前驅"。
數據結構中線性結構指的是數據元素之間存在着“一對一”的線性關系的數據結構。
如(a1,a2,a3,…,an),a1為第一個元素,an為最后一個元素,此集合即為一個線性結構的集合。
相對應於線性結構,非線性結構的邏輯特征是一個結點元素可能對應多個直接前驅和多個后繼。
二、非線性結構
相對於線性結構,非線性結構有一個最明顯的區別就是:各個數據元素不再保持在一個線性序列中,每個數據元素可能與零個或者多個其他數據元素發生聯系。這就是所謂的一對多或者多對一,總之不是一對一。同時也會根據關系的不同,可分為層次結構和群結構。
常見的非線性結構有:二維數組,多維數組,廣義表,樹(二叉樹等),圖。
————————————————
版權聲明:本文為CSDN博主「吳生4396」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_41903105/article/details/88083483