Percursos
/
Haskell
Haskell
/
Exercícios
/
Conjunto Personalizado
Conjunto Personalizado

Conjunto Personalizado

Médio

Instruções

Cria um tipo de conjunto personalizado.

Por vezes, é necessário definir uma estrutura de dados personalizada de algum tipo, como um conjunto. Neste exercício, vais definir o teu próprio conjunto. A forma como funciona internamente não importa, desde que se comporte como um conjunto de elementos únicos.

Dicas

Para completar este exercício, precisas de 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

Vais encontrar já no sítio uma declaração de dados de exemplo e as assinaturas de tipo, mas cabe-te a ti definir as funções e criar um tipo de dados, um newtype ou um sinónimo de tipo com significado.

Se estiveres interessado em escrever uma implementação eficiente mas não souberes bem por onde começar, a melhor introdução que conheço é "Purely Functional Data Structures", de Chris Okasaki, cuja versão podes ler aqui: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf

Editar via GitHub A ligação abre numa nova janela ou separador
Haskell Exercism

Estás pronto para começar Conjunto Personalizado?

Inscreve-te no Exercism para aprenderes e dominares Haskell com 107 exercícios, e mentoria humana real, tudo grátis.