線性表(陣列):
用位址連續的儲存單元依次儲存資料元素
訪問:o(1)
插入刪除:o(n)
查詢:o(n)
單鏈表:
訪問:o(n)
插入刪除:根據index:o(n);根據node:o(1)
查詢:o(n)
迴圈鍊錶:
從任意乙個元素開始,都可以訪問整個鍊錶。
雙向鍊錶:
優點:從雙向鍊錶中的任意乙個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。一般我們都構造雙向迴圈鍊錶。
在p之前插入s:
p.pre.next=s;
s.pre=p.pre;
s.next=p;
p.next=s;
刪除s節點:
s.pre.next=s.next;
s.next.pre=s.pre;
free(s);
棧:(順序棧,鏈棧)
**先出,僅在表尾進行插入刪除。
棧的應用:
(1)10進製轉d進製:
n=(n/d)*d+n%d;
(2)括號匹配
(3)走迷宮
(4)表示式求值:
佇列:先入先出,
二叉樹:
(1). n個節點可以構造多少個二叉樹
f(n)=sum(i=0,n-1)f(i)*f(n-1-i)
(2). 二叉樹的插入刪除
插入:需要從根結點開始查詢待插入節點位置,找到位置後插入即可。
刪除:1.待刪除節點沒有左,右孩子(即為葉子節點),直接刪除
2.待刪除節點只有1個子節點,將待刪除節點的父節點設定為該子節點的父節點,
3.待刪除節點有2個子節點,可以通過尋找待刪除節點的後驅節點,來轉化為以上2種情況。刪除後繼節點,將後繼節點的值賦值給待刪除節點。
資料結構基礎
資料結構定義 定義 一 資料元素集合 也可稱資料物件 中各元素的關係。定義 二 相互之間存在特定關係的資料元素集合。資料結構的種類 1 集合 2 線性結構 3 樹形結構 4 圖狀結構 或網狀結構 資料結構的形式定義 資料結構名稱 d,s 其中d為資料元素的有限集,s是d上關係的有限集 邏輯結構 資料...
基礎資料結構
1 雙鏈表。下面是c 版本的實現。include stdafx.h include 結構體 typedef struct nodedlink 初始化 void dlist dlink dl 求長度 int dlength dlink dl return i 查詢 dlink dsearch dlin...
資料結構基礎
邏輯結構 描述資料元素之間的邏輯關係。物理結構 資料結構在計算機中的表示 映像 又稱儲存結構。它包含資料元素的表示和關係的表示。用乙個可以由若干位組合形成的乙個位串表示乙個資料元素,稱這個位串為元素或節點。當資料元素由若干資料項組成時,位串中對應於各個資料項的子位串稱為資料域。資料元素之間的關係在計...