Tracks
/
Haskell
Haskell
/
Ejercicios
/
Conjunto personalizado
Conjunto personalizado

Conjunto personalizado

Intermedia

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 vas a definir tu propio conjunto. No importa cómo funcione internamente, siempre y cuando se comporte como un conjunto de elementos únicos.

Pistas

Para completar este ejercicio, necesitas crear el tipo de dato CustomSet, con instancias de 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 puestas, pero depende de ti definir las funciones y crear un tipo de dato, un newtype o un sinónimo de tipo que tenga sentido.

Si te interesa escribir una implementación eficiente pero no sabes bien por dónde empezar, la mejor introducción que conozco es «Purely Functional Data Structures», de Chris Okasaki, de la cual 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 una pestaña nuevas
Haskell Exercism

¿Todo listo para empezar Conjunto personalizado?

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