Блог пользователя adamant

Автор adamant, история, 7 лет назад, По-русски

Всем привет!

Я тут подал предложение о введение PBDS из SGI STL в российскую национальную рабочую группу по стандартизации С++. Кто не в курсе -- это проработанный концепт сбалансированных бинарных деревьев, с достаточно гибкой возможностью поддержки метаданных в вершинах (см. здесь). Для нас наиболее видная особенность -- наличие встроенных order_of_key и find_by_order, которые отсутствуют в set и map. В случае добавления pbds в стандарт мы также можем ожидать, что там, наконец, починят merge и split, которые сейчас работают за вместо заявленных .

Предлагаю сообществу codeforces поучаствовать в обсуждении данного предложения.

UPD: Предложение на std-proposals.

  • Проголосовать: нравится
  • +82
  • Проголосовать: не нравится

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Автокомментарий: текст был обновлен пользователем adamant (предыдущая версия, новая версия, сравнить).

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Split и Merge в ropes?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

А какое у тебя обоснование надобности данной штуки более широкому кругу людей, нежели те, кто могут воспользоваться SGI STL? Я про такое, с которым ты будешь готов прийти на заседание комитета и сказать: "Чуваки, вот эта штука сильно улучшит жизнь разработчиков, если мы внесём её в стандарт".

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится -20 Проголосовать: не нравится

    Автору блога либо нужно опять поднять вклад, либо просто надоело подключать "особые" библиотеки.

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится +44 Проголосовать: не нравится

    Ну контесты же удобнее будет писать, ну ты чего?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been translated by adamant (original revision, translated revision, compare)

»
7 лет назад, # |
  Проголосовать: нравится +33 Проголосовать: не нравится

It is a great proposal but I don't think that it will be a successful one. The standard is kept as clear and simple as possible so adding a lot of data structures might break this idea.

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    STL should be useful, not simple.

    • »
      »
      »
      7 лет назад, # ^ |
        Проголосовать: нравится +18 Проголосовать: не нравится

      That's wrong on many levels. Every single piece of code in the C++ standard must be maintainable and possibly upgradable (see move semantics for example). It is very hard to maintain a large number of containers so don't expect any new data structure in the near future (there are much more useful containers like dynarray which are not ready yet so I don't expect to see tries any time soon)

»
7 лет назад, # |
  Проголосовать: нравится -29 Проголосовать: не нравится

Absolutely agree!!!

The find_by_order() and order_of_key() should be added to set, map. I do not want to make a long declaration to have exactly the same set structure with only two more functionality.

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится +34 Проголосовать: не нравится

    And I don't want to spend precious processor time to update counters I'll never use if I don't use find-by-order or orderofkey

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Absolutely agree!!!

The find_by_order() and order_of_key() should be added to set, map. I do not want to make a long declaration to have exactly the same set structure with only two more functionality.