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!
que funcion cumple ">" en el if del ordenamiento
ResponderEliminarif( actual->nro " > " siguiente->nro)
Compara el el número del nodo actual, con el número del del siguiente nodo. Es la misma lógica del método burbuja usando vectores :). Saludos
ResponderEliminarQue tendria que hacer para generar otra opcion pero que esta vez me enliste los numeros de Mayor a Menor?
ResponderEliminarSimplemente cambias el
ResponderEliminarif( actual->nro " > " siguiente->nro) por
if( actual->nro " < " siguiente->nro)