Size: a a a

Scala User Group

2020 October 14

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
ключи понятно - кладутся в красно-чёрное дерево. а значения куда кладутся?как это работает?
как и во всех других языках в  КЧД кладутся пары, а сравнение по ключам происходит
источник

R

RAFIZ in Scala User Group
ну и тогда. чтобы всю мапу распечатать, нужно просто отсортировать ключи (значения рядом с ними окажутся, как выяснилось), а это за O(n) делается (pre-order-traversing называется), дополнительный логарифм там непонятно откуда взялся
источник

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
ну и тогда. чтобы всю мапу распечатать, нужно просто отсортировать ключи (значения рядом с ними окажутся, как выяснилось), а это за O(n) делается (pre-order-traversing называется), дополнительный логарифм там непонятно откуда взялся
Ещё раз, это если нормально, но в скале по-моему сделано в стиле (1 until size) map apply
источник

R

RAFIZ in Scala User Group
Oleg ℕizhnik
ну вообще для обхода RBT нужна линейная сложность, но в скале по-моему там хуже
понятно. то есть скорее всего, как я и предполагал - линейное?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
понятно. то есть скорее всего, как я и предполагал - линейное?
нет, если мне не изменяет память n log n
источник

R

RAFIZ in Scala User Group
Oleg ℕizhnik
Ещё раз, это если нормально, но в скале по-моему сделано в стиле (1 until size) map apply
да я уже увидел сообщение выше
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Но я давно смотрел
источник

λ

λoλdog in Scala User Group
RAFIZ
ну и тогда. чтобы всю мапу распечатать, нужно просто отсортировать ключи (значения рядом с ними окажутся, как выяснилось), а это за O(n) делается (pre-order-traversing называется), дополнительный логарифм там непонятно откуда взялся
Сортировка за O(n)? Круто
источник

R

RAFIZ in Scala User Group
ну как бы тогда совсем странно получается. что каждый раз для того чтобы вызвать toString надо потратить время как на сортировку слиянием (это многовато), какая-то неоптимальная коллекция получается(
источник

R

RAFIZ in Scala User Group
λoλdog
Сортировка за O(n)? Круто
не знали?)
источник

λ

λoλdog in Scala User Group
Конечно не знал, потому что нет таких алгоритмов сортировки
источник

λ

λoλdog in Scala User Group
RAFIZ
ну как бы тогда совсем странно получается. что каждый раз для того чтобы вызвать toString надо потратить время как на сортировку слиянием (это многовато), какая-то неоптимальная коллекция получается(
Не надо, дерево уже сбалансированное и отсортированное
источник

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
да я уже увидел сообщение выше
https://github.com/scala/scala/blob/v2.13.3/src/library/scala/collection/immutable/RedBlackTree.scala#L418
нет, я ошибся сейчас сложность O(n), как Вы и писали
источник

R

RAFIZ in Scala User Group
λoλdog
Конечно не знал, потому что нет таких алгоритмов сортировки
почитайте получше как отсортировать бинарное дерево поиска (например) ))☺️
источник

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
почитайте получше как отсортировать бинарное дерево поиска (например) ))☺️
не спорьте с ним, он не понял просто, что вы имели в виду
источник

R

RAFIZ in Scala User Group
Oleg ℕizhnik
не спорьте с ним, он не понял просто, что вы имели в виду
да :)
источник

R

RAFIZ in Scala User Group
спасибо за ссылку. вот её и искал (что-то подобное)
источник

λ

λoλdog in Scala User Group
Oleg ℕizhnik
не спорьте с ним, он не понял просто, что вы имели в виду
Что он имел ввиду?
источник

R

RAFIZ in Scala User Group
λoλdog
Что он имел ввиду?
что влетать в разговор в токсик-стиле не войдя в контекст - такое себе
источник

λ

λoλdog in Scala User Group
Нет, я лишь увидел неправильное утверждение
источник