一看就懂的知識點 資料結構之廣義表

2021-10-04 20:29:39 字數 953 閱讀 7610

廣義表:(又稱列表lists)是n≥0個元素a₀ ,a₁,…,an-1的有限序列,其中每乙個ai或者是原子,或者是乙個廣義表。

舉例:

1.廣義表中的資料元素有相對次序;乙個直接前驅和乙個直接後驅;

2.廣義表的長度定義為最外層所包含元素的個數;

3.廣義表的深度定義為該廣義表展開後所含括號的重數

a = (b,c)的深度為1,

b = (a,d)的深度為2,b = ((b,c),d)

c = (f,b,h)的深度為3。c = (f,((b,c),d),h)

原子的深度為0;空表的深度為1。

4.廣義表可以為其他廣義表共享;

5.廣義表可以是乙個遞迴的表。

遞迴表的深度是無窮值,長度是有限值。

6.廣義表是多層次結構,廣義表的元素可以是單元素,也可以是子表,而子表的元素還可以是子表,···。

(1)求表頭gethead(l):非空廣義表的第乙個元素,可以是乙個單原子,也可以是乙個子表。

(2)求表尾gettail(l);非空廣義表除去表頭元素以外其他元素所構成的表。表尾一定是乙個表

廣義表可以看成是線性表的推廣,線性表是廣義表的特例。

廣義表的結構相當靈活,在某種前提下,它可以相容線性表、陣列、樹和有向圖等各種常用的資料結構。當二維陣列的每行(或每列)作為子表處理時,二維陣列即為乙個廣義表。另外,樹和有向圖也可以用廣義表來表示。由於廣義表不僅集中了線性表、陣列、樹和有向圖等各種常用資料結構的特點,而且可有效利用儲存空間,因此在計算機的許多應用領域都有成功使用廣義表的例項。

雜湊表資料結構 一看就懂的資料結構基礎 雜湊表

雜湊表 雜湊表 hash table 是儲存鍵值 key value 對資料的一種資料結構。例如,我們可以將人的名字作為鍵,性別作為值來儲存。通過把鍵對映到表中的乙個位置來訪問資料,以提高查詢速度。而這個對映關係就是雜湊函式。雜湊函式 因為雜湊表的資料對映關係以雜湊函式為體現,為了避免小夥伴對雜湊函...

資料結構之佇列 一看就懂,你還等什麼

資料結構之佇列 本文章涉及佇列的一些 設計 1 public boolean isempty 判斷佇列是否為空 2 public int size 返回佇列中元素的個數 3 public void enqueue t t 向佇列中插入元素t 4 public t dequeue 從佇列中拿出乙個元素...

合併相同資料的行 一看就懂MySQL繁瑣的合併表

表的合併,在sql裡又叫做表的連線。多表查詢 指的是將兩個以上的資料表通過關鍵字段連線在一起,從不同表中取不同字段進行查詢的方法。關鍵字段 1 相連的兩表中都有能匹配上的關鍵字段 2 表中的關鍵字段最好是主鍵,即 不重複,不為空值 3 如果不是主鍵就需要用到聯合主鍵,即兩表中兩個字段聯合起來作關鍵字...