Trilhas
/
Haskell
Haskell
/
Exercícios
/
Conjunto personalizado
Conjunto personalizado

Conjunto personalizado

Médio

Instruções

Crie um tipo de conjunto personalizado.

Às vezes é necessário definir uma estrutura de dados personalizada de algum tipo, como um conjunto. Neste exercício, você vai definir o seu próprio conjunto. Não importa como ele funciona por dentro, desde que se comporte como um conjunto de elementos únicos.

Dicas

Para completar este exercício, você precisa criar o tipo de dados CustomSet, com instâncias de Eq e Show, e implementar as seguintes funções:

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

Você vai encontrar uma declaração de dados e assinaturas de tipo fictícias já prontas, mas cabe a você definir as funções e criar um tipo de dados, um newtype ou um sinônimo de tipo que faça sentido.

Se você tiver interesse em escrever uma implementação eficiente, mas não souber bem por onde começar, o melhor material introdutório que conheço é "Purely Functional Data Structures", de Chris Okasaki, e você pode ler uma versão dele aqui: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf

Editar via GitHub O link abre em uma nova janela ou aba
Haskell Exercism

Tudo pronto para começar Conjunto personalizado?

Crie sua conta no Exercism para aprender e dominar Haskell com 107 exercícios e mentoria humana de verdade, tudo de graça.