串、數組和廣義表
串與數組的定義
串
定義:串是一種字符序列,元素可以是字母、數字或其他字符。
特點:
- 串中的字符按照一定順序排列。
- 串是線性結構,長度固定或可變。
主要操作:字符查找、子串匹配、插入、刪除等。
數組
定義:數組是一組相同類型的數據元素按一定順序存儲的集合。
特點:
- 每個元素都有一個固定的索引位置。
- 索引從零開始。
- 數組在內存中是連續存儲的。
空串與空格串的區別
空串
- 長度為 0 的串,沒有任何字符。
- 表示:""(雙引號中無內容)。
- 特點:空串是合法的,是字符串的一個特殊形式。
空格串
- 定義:僅包含空格字符的串。
- 表示:" "(雙引號中有一個或多個空格)。
- 特點:空格串的長度不為 0,字符串內容為一個或多個空格字符。
總結:空串是完全沒有字符,長度為 0;空格串包含空格字符,長度不為 0。
廣義表的表頭、表尾、長度和深度
廣義表的定義
廣義表是一種遞歸定義的線性結構,其元素可以是:
- 原子:不可再分的數據元素。
- 子表:廣義表中的一個元素,可以是另一個廣義表。
術語解釋
- 表頭(Head):廣義表中第一個元素,可能是原子或子表。
- 表尾(Tail):除去表頭後剩餘的部分,可能是空表或另一廣義表。
- 長度(Length):廣義表中元素的個數(原子和子表均算一個元素)。
- 深度(Depth):廣義表中最大嵌套層次。
示例分析
廣義表
- 表頭:
- 表尾:
- 長度:2(即 和 是兩個元素)。
- 深度:2(最深嵌套層次為子表)。