一、文法
0型文法又叫短文法,其能力相當於圖靈機。滿足a—>b中a包含非終結符
1型文法又叫上下文有關文法,其能力相當於線性有界自動機。滿足|b|>a ,a->空除外
2型文法又叫上下文無關文法,其能力相當於下推自動機。滿足1型文法的同時要求a是非終結符(對比0型文法)
3型文法又叫正規文法,其能力相當於有限狀態自動機。滿足2型文法要求的同時要求它是右線性或左線性(即a->a|ab或a->a|ba)。(要麼為右線性,要麼為左線性,不能兩者都占有。只能有乙個終結符)
二、確定有限自動機(dfa)和非確定有限自動機(nfa)
m=(s,e,f,s0,z)
在dfa中s0是唯一的,而在nfa中s0確實乙個非空的集合。
nfa轉化為dfa的方法採用的是子集法。首先確定nfa的初態集,然後由初態集推出輸入每種條件後的狀態,對這些狀態進行不重複編號,然後將新產生的狀態集重複初態集的過程,直到無新狀態集產生為止。由每種狀態集的編號形成的自動機就是dfa了。
三、正規式與有限自動機的轉化
正規式的基本規則如下所示:
轉化的原則如下所示:
乙個例題:
ObjC中KVO原理簡析
kvo的全稱是key value observing,也稱 鍵值監聽 可以用於監聽某個物件屬性值的改變。通常我們通過addobserver forkeypath options context來監聽某個例項的某個屬性變化。當該屬性的值發生變化的時候會通過 void observevalueforke...
jQuery原理簡析
jquery原理簡析 function selector,context function jquery selector,context if typeof selector function 我們想要 selector 時就獲得乙個元素,且裡面有一些方法。這些方法要繫結在原型prototype上...
Android handler(原理簡析)
顯示到我們的螢幕上。此時乙個android新手上來說,那簡單啊,直接寫上網路請求獲取就行了,獲取到了再將直接放到對應的控制項上就行了啊,這有什麼值得思考的啊?修改ui只能在主 ui 執行緒中 1.我們把需要傳送的訊息打包成message物件 2.handler將打包好的message物件傳送給mes...