線性結構和非線性結構基礎原理

2021-10-25 08:22:46 字數 1193 閱讀 4160

線性結構(非空有限集合)

線性結構的資料集中,資料元素按照固定的順序儲存到空間中,每個元素最多和兩個元素直接關聯(首尾只有乙個)。常用的線性結構:陣列,線性表,棧,佇列和串。

1、線性表

有限個性質結構相同的陣列元素序列,按照儲存結構劃分包括順序儲存結構和鏈式儲存結構。

順序儲存:物理儲存意義上所有元素按順序儲存在連續的儲存單元,比如陣列。

鏈式儲存:儲存空間隨機,相鄰元素以指標關聯。(鍊錶)

資料運算:查詢,修改,插入,刪除,排序。

1.1.1 順序儲存

順序表元素位址是連續的,邏輯關係固定,不需要額外的儲存空間,可以快速查詢表內元素,但執行插入、刪除等運算時操作複雜。

1) 查詢、修改元素

時間複雜度o(1) , a[i] = 第n個(修改)資料元素 ;

2) 插入、刪除元素

插入:原理上等於把插入位置後的所有元素後移一位,在原來位置上寫入新元素,同時要保證其有足夠的儲存空間。

刪除:刪除對應位置元素並把之後元素前移一位,時間複雜度偏高。

2、1.1.2 鏈式儲存

每個元素單獨儲存在肚子的儲存單元中,單個元素稱為節點,每個節點必須相互聯絡才屬於整體範疇,

所以每個節點由資料域和指標域組成:乙個儲存元素資訊,乙個儲存指向後繼元素位置的指標。

鍊錶按照指標域細分為單鏈表、雙鏈表和迴圈鍊錶。

單鏈表:結點指標域指向後繼元素位置。指向鍊錶第乙個節點的指標是頭指標。鍊錶第乙個節點可以是鍊錶的第乙個資料元素位置(儲存資料和指標),也可以是只儲存第乙個資料位置的空節點(資料為空),此時這個空節點叫做頭節點。

雙鏈表:乙個節點包括資料、前驅指標和後繼指標,不再像單鏈表只能單相查詢、操作元素,找到任一節點,便可訪問鍊錶內所有信心。

迴圈鍊錶:單鏈表最後節點指標第乙個節點的位置,形成閉環。

與順序儲存不同,鍊錶的運算效率與其相反。

1) 查詢元素

鍊錶只能順序訪問,查詢元素時間複雜度為o(n)

2) 插入、刪除元素

不需要移動修改元素,只需要對用元素的指標即可,一般時間複雜度為o(1)。

線性結構和非線性結構

資料結構是計算機儲存 組織資料的方式。常見的資料結構分類方式如下圖 常用的線性結構有 線性表,棧,佇列,迴圈佇列,陣列。線性表中包括順序表 鍊錶等,其中,棧和佇列只是屬於邏輯上的概念,實際中不存在,僅僅是一種思想,一種理念 線性表則是在記憶體中資料的一種組織 儲存的方式。線性結構是最簡單最常用的一種...

線性結構和非線性結構

線性結構和非線性結構 線性結構是乙個有序資料元素的集合。其中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的。常用的線性結構有 線性表,棧,佇列,雙佇列,陣列,串。非線性結構中各個資料元素不再保持在乙個線性序列中,每個資料元素可能與零個或者多個其他資料...

線性結構和非線性結構

1.資料結構包括線性結構和非線性結構 2.線性結構特點 線性結構作為最常用的資料結構,其特點是資料元素之間存在一對一的線性關係 線性結構有兩種不同的儲存結構,即順序儲存結構和鏈式儲存結構。順序儲存的線性表稱為順序表,順序表中的儲存元素是連續的 鏈式儲存的線性表稱為鍊錶,鍊錶中的儲存元素不一定是連續的...