自動機轉換 248

2022-09-17 18:54:11 字數 900 閱讀 9086

#include#define n 30

char str[n]=;

void print(int i,char

y);int

st[n];

int t=0,k=0

;struct node//

定義乙個佇列

;typedef

struct

node queuenode;

struct node2//

定義乙個鏈佇列

;typedef

struct

node2 queue;

queue initqueue()

//初始化佇列

queue inserq(queue q,

char x)//

x進佇列

queue deleteq(queue q)

//出佇列

p=q.front->next;

y=q.front->next->data;//

將佇列中的元素賦值給y

q.front->next=p->next;

if(p==q.rear)

q.rear=q.front;

str[t]=y;

st[k]=t;

if(y!='|'

)

else

print(i,y);

}if(y=='|'

)

k++;

free(p);

returnq;}

void print(int i,char y);//

呼叫函式來判斷並輸出

main()

void print(int i,char y)//

呼叫函式來判斷並輸出

自動機轉換

include define n 30 char str n void print int i,char y int st n int t 0,k 0 struct node 定義乙個佇列 typedef struct node queuenode struct node2 定義乙個鏈佇列 type...

AC自動機及字尾自動機

ac自動機是一種基於trie樹的演算法,其本質和kmp上的處理很相似。trie樹結構 kmp轉移思路 ac自動機組要由三個部分組成 trie樹的建立 fail指標的匹配 對ac自動機的詢問 每次建立自動機會有一次初始化 ac自動機類 struct node node結構體 struct ac voi...

字尾自動機 序列自動機綜合

好像序列自動機還沒有寫過 串長為n的串共有n 1個節點,除了串中的n個節點,還有乙個空的根節點放在串首。每個節點至多有26條出邊,每條邊連向它之後的第乙個字元。串中的任意乙個子串行對應了一條根到某個節點的路徑。且每條路徑對應乙個不同的子串行。每個節點的parent是這個字母上一次出現的位置。更新只要...