基礎:字母表、字串與語言

字串長度(string length)

字串長度就是它包含多少個符號,正像數鐵絲上的珠子或一個字裡的字母。字串 cat 的長度是 3,因為你寫了三個字母。這裡沒有什麼玄機:你從第一個數到最後一個,把符號數出來,重複的也照算。

我們把字串 w 的長度寫成 |w|(讀作 w 的長度)。例如 |ab| = 2、|aaa| = 3、|b| = 1。依慣例,空字串(寫作 ε,epsilon)長度為零:|ε| = 0,因為它完全不含任何符號。長度是在數位置,所以 |aa| = 2,即使兩個位置都放同一個符號 a;重複仍然會被計入。

長度是貫穿整門理論的主力度量。它是我們陳述輸入大小的方式(好讓我們能問:當 |w| 增大時,演算法用多少時間或記憶體),它出現在像 a^n b^n 這種兩半必須等長的模式裡,也在幫浦引理中扮演核心角色——該引理談的正是「長於某固定長度的字串」。每當你讀到問題實例的大小,通常指的就是長度。

|abba| = 4、|a| = 1、|ε| = 0。長度在串接下相加:|xy| = |x| + |y|,所以 |ab| + |ba| 得到 |abba| = 4。

長度連同重複一起數符號;空字串長度為 0。

空字串長度為 0,不是 1。常見的小錯是以為 ε 佔了一個位置;它並沒有,這正是 |ε| = 0 的原因。

又稱
|w|length字串長度