基礎:字母表、字串與語言
串接(concatenation)
串接就是把兩個字串首尾相接黏在一起的動作,正像把兩列樂高火車拼成一列更長的火車。把 foot 和 ball 接起來就得到 football。沒有增加也沒有刪去任何東西,你只是先寫第一個字串,緊接著立刻寫第二個。
形式上,字串 x 與 y 的串接,寫作 xy(有時寫成 x . y),是這樣一個字串:先依序排 x 的符號,再依序接上 y 的符號。所以若 x = ab、y = ba,則 xy = abba;又因為順序重要,yx = baab 是不同的字串。兩條乾淨的規則永遠成立。長度相加:|xy| = |x| + |y|。空字串不改變任何東西:εx = xε = x。串接具有結合律,即 (xy)z = x(yz),所以我們可以自由地寫 xyz 而不必擔心括號分組;但它不具交換律:xy 與 yx 通常不同。
串接是用較短字串建構較長字串的根本方式,而且它也提升到語言層次:兩個語言的串接,是把第一個語言的每個字串都黏上第二個語言的每個字串。它支撐了有限自動機如何一個符號一個符號讀入輸入、正規表示式(如 ab)如何表示「先一個 a 再一個 b」的模式,以及字串的次方(w^k)如何透過把 w 與自己串接來定義。
若 x = aa、y = bb,則 xy = aabb、yx = bbaa。與 ε 串接什麼也不變:x ε = aa。
串接依序連接字串;它具結合律但不具交換律。
串接不具交換律:xy 與 yx 一般是不同的字串。別以為可以交換順序。
又稱
另見