En esta ocasión les traigo la implementación de un AFD en lenguaje C++. Un autómata finito determinista es una quíntupla que denotaremos de manera genérica por M=(Q,Σ,q0,δ,F) , donde: Q es un conjunto finito cuyos elementos llamaremos estados. Σ es un alfabeto que llamamos alfabeto de entrada. q0∈Q es un estado señalado que llamamos estado inicial. F es un subconjunto de Q no vacío, cuyos elementos llamamos estados finales. δ es una aplicación de Q×Σ→Q , que llamamos función de transición. Para la implementación se utiliza una matriz de transición convirtiendo los símbolos y letras del alfabeto en indices de la matriz donde los estados son las FILAS y los símbolos son las COLUMNAS, por ejemplo: Tenemos un alfabeto Σ = {a, b, c}, entonces en la matriz de transición tomara la letra 'a' como indice 0 , letra 'b' indice 1 y letra 'c' indice 2. Lo mismo seria para las transiciones, pero allí no interesa que letra representa si no cuantos estados...
Blogueando sobre programación!
No puede unir las listas, porque estas que usas dos tipos de estructuras y al crear los nodos obviamente son de diferente tipo. No puedes usar un puntero que apunte a un nodo de diferente tipo del que lo creaste. El programa esta hecho para unir listas del MISMO TIPO. Espero haberte ayudado :)
ResponderEliminar