完全二叉树与堆C++代码及应用 2019年2月23日2019年2月22日 由 xyjisaw 堆的定义 堆其实就是一棵完全二叉树(若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h … 阅读更多
编译原理计算first集合和follow集合C++实现 2019年2月22日 由 xyjisaw 设文法G[S]=(VN,VT,P,S),则首字符集为: FIRST(α)={a | αaβ,a∈VT,α,β∈V *}。 若α … 阅读更多
Dijkstra算法邻接矩阵C++及多种变换 2019年2月21日 由 xyjisaw 定义概览 Dijkstra算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点 … 阅读更多
哈希表(散列表)的应用 2019年2月10日2019年2月10日 由 xyjisaw 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到 … 阅读更多
消除文法的左递归 2019年2月3日2019年2月2日 由 xyjisaw 简介 1.直接左递归的消除 消除产生式中的直接左递归是比较容易的。例如假设非终结符P的规则为 P→Pα / β 其中,β是不以P开头的符号串 … 阅读更多
编译原理NFA转DFA-Python与C++实现 2019年1月29日 由 xyjisaw 某个有限自动机,如果每次状态转换的后继状态都是惟一的,则称它是确定有限自动机(DFA);如果转换后的后继状态并不都是惟一的,则称它是不确定有限自动机(NFA)。
编译原理由正规文法构造正规式(正则表达式) 2019年1月25日2019年1月24日 由 xyjisaw 3型文法(正则文法,线性文法) 如果对于某文法G,P中的每个规则具有下列形式: U :: = T 或 U :: = W … 阅读更多
Mac下利用Flex和Bison实现控制台计算器 2019年1月24日2019年1月24日 由 xyjisaw 简介 我们借助Flex和Bison对给定的表达式进行词法和语法分析,并在语法分析的同时完成相应的计算。 … 阅读更多
Chomsky文法类型判断 2019年1月23日2019年1月22日 由 xyjisaw 文法简介 1.0型文法(短语文法) 如果对于某文法G,P中的每个规则具有下列形式: u:: = v 其中u∈V+,v∈V*,则 … 阅读更多