Лекция 2.
Домашнее задание

Страничка курса: https://maxcom.github.io/scala-course-2022/

Множество на основе бинарных деревьев поиска.

Вершина содержит элемент и
опциональные под-деревья

Почитайте статью на wikipedia

Неизменяемый

Множество: храним только уникальные элементы

Моделируем алгебраическим типом или
case class с Option полями

Пустое множество - тоже множество.


// Int - тип элемента
trait SimpleTreeSet {
  // операция вставки (без балансировки)
  // подумайте про персистентность
  def +(v: Int): SimpleTreeSet

  // операция проверки наличия элемента
  def contains(v: Int): Boolean

  // операция foreach (в любом порядке)
  def foreach(f: Int => Unit): Unit
}
					

интерфейсы scala-коллекций не реализуем

пишем юнит-тесты

Как выкладывать решение

  • Детали в первом ДЗ
  • Название проекта - scala-2022-task2

Напоминаю: