Secuencia(α) { Duplicar(s) { if (s == <>) { return <>; } else { return s.cabeza • Duplicar(s.cola); } } ≤(s1, s2) { if (s1 == <>) { return true; } else if (s2 == <>) { return false; } else { return s1.cabeza ≤ s2.cabeza && ≤(s1.cola, s2.cola); } } Reverso(s) { if (s == <>) { return <>; } else { return Reverso(s.cola) • s.cabeza; } } Capicua(s) { if (s == <>) { return true; } else { return s.cabeza == s.cola.cabeza && Capicua(s.cola); } } EsPrefijo?(s1, s2) { if (s1 == <>) { return true; } else if (s2 == <>) { return false; } else { return s1.cabeza == s2.cabeza && EsPrefijo?(s1.cola, s2.cola); } } Buscar(s1, s2) { if (s1 == <>) { return -1; } else if (EsPrefijo?(s1, s2)) { return 0; } else { return Buscar(s1.cola, s2) + 1; } } EstáOrdenada?(s) { if (s == <>) { return true; } else if (s.cabeza > s.cola.cabeza) { return false; } else { return EstáOrdenada?(s.cola); } } InsertarOrdenada(s, e) { if (s == <>) { return Secuencia(e); } else if (e < s.cabeza) { return Secuencia(e) • s; } else if (e > s.cabeza) { return s • InsertarOrdenada(s.cola, e); } else { return s; } } CantidadApariciones(s, e) { if (s == <>) { return 0; } else if (e == s.cabeza) { return 1 + CantidadApariciones(s.cola, e); } else { return CantidadApariciones(s.cola, e); } } EsPermutación?(s1, s2) { if (s1.longitud != s2.longitud) { return false; } else { return CantidadApariciones(s1, s2.cabeza) == s2.longitud; } } Combinar(s1, s2) { if (s1 == <>) { return s2; } else if (s2 == <>) { return s1; } else { return Combinar(s1.cola, s2.cola) • s1.cabeza; } } }
Para escribir su respuesta aquí, Ingresar o Crear una cuenta
Compartir