Rutas
/
Haskell
Haskell
/
Ejercicios
/
Conjunto personalizado
Conjunto personalizado

Conjunto personalizado

Media

Instrucciones

Crea un tipo de conjunto personalizado.

A veces es necesario definir una estructura de datos personalizada de algún tipo, como un conjunto. En este ejercicio definirás tu propio conjunto. Cómo funciona internamente no importa, siempre que se comporte como un conjunto de elementos únicos.

Pistas

Para completar este ejercicio, tienes que crear el tipo de datos CustomSet, con las instancias Eq y Show, e implementar las siguientes funciones:

  • delete
  • difference
  • empty
  • fromList
  • insert
  • intersection
  • isDisjointFrom
  • isSubsetOf
  • member
  • null
  • size
  • toList
  • union

Encontrarás una declaración de datos ficticia y las firmas de tipo ya en su sitio, pero depende de ti definir las funciones y crear un tipo de datos, un newtype o un sinónimo de tipo que tenga sentido.

Si te interesa escribir una implementación eficiente pero no sabes muy bien por dónde empezar, la mejor introducción que conozco es «Purely Functional Data Structures», de Chris Okasaki, de la que puedes leer una versión aquí: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf

Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Haskell Exercism

¿Listo para empezar Conjunto personalizado?

Regístrate en Exercism para aprender y dominar Haskell con 107 ejercicios y mentoría humana real, todo gratis.