如何用适当的数据结构表述状态图?

Jafee 2005-04-30 12:45:44
最好是能表述扩展状态图。
每个节点可能有多个出转移。
请问下,用什么样的数据结构能比较好的描述状态图。
...全文
176 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
trackant 2005-08-05
  • 打赏
  • 举报
回复
并没有要求输入是简单变量阿,只要是一个符号即可,广义上的符号可能是一个数字或者字符串或多个参数,总之只要你能唯一的识别该“符号”就可以根据当前状态和转移函数确定新的状态。
sky911911 2005-08-05
  • 打赏
  • 举报
回复
用顶点和边 我是这么理解的 呵呵!
Jafee 2005-08-05
  • 打赏
  • 举报
回复
谢谢BinaryTreeEx和 trackant(蚁迹寻踪)。

唉,等了这么久,还是要再说说这个东东:
因为我的状态机的输入并不是简单的某个变量,而可能是多个变量参数或是某个事件来造成状态的转移。所以想求能满足这样条件的数据结构。
trackant 2005-05-03
  • 打赏
  • 举报
回复
Jafee你似乎没有明白BinaryTreeEx的描述,BinaryTreeEx说的是用二维矩阵来描述DFA的状态转移,对于一个确定的状态A,遇到一个确定的输入t,则状态转移被唯一确定,比如转移到C。这样每个状态可以有多个出转移、多个入转移,(每个转移中包含若干转移条件的可以看成是多个转移)。
如果你的需求是转移不确定的情况,比如转移到E或F。也就是NFA的实现问题,可以通过增加新的状态从而把NFA转化为DFA,详细的算法可以看编译原理的书或自动机理论的书。
Jafee 2005-05-01
  • 打赏
  • 举报
回复
先谢谢楼上的回复
矩阵应该是只能描述二维的吧
我要描述的是扩展状态机
每个状态可能有多个出转移、多个入转移,每个转移中包含若干转移条件
Jafee 2005-04-30
  • 打赏
  • 举报
回复
是图啊
希望编过相关程序的能给点好的建议
希望能具体点说说
对编程实现能更有利
qrlvls 2005-04-30
  • 打赏
  • 举报
回复
状态机?当然就是图了
图的顺序存储可以按顶点和边分别存储
BinaryTreeEx 2005-04-30
  • 打赏
  • 举报
回复
一般的状态图使用矩阵描述的,你也可以用它作为壮态图的存储结构。
一般的描述是在a状态下出现事件b执行动作c
也就是说用(a,b)唯一决定c,这时a,b就是矩阵的两个下标,c是矩阵指定
单元的内容。

如果(a,b)对应的c比较复杂需要另外一个状态图那么就需要子图了。这时
搂住可以递归的使用上述方法就可以了。

33,007

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧