Страничка курса: 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-коллекций не реализуем
пишем юнит-тесты
Напоминаю: