• SALI — это Вам ~ язык программирования

    Зачем ещё один язык программирования?


    Это не совсем язык программирования, вернее — это язык совсем не программирования. SALI — язык написания приложений. Программа, в простейшем случае — последовательность команд, которые ЭВМ выполняет последовательно. SALI — язык, в котором не существует функций, методов, циклов да и вообще исполняемого кода, поэтому он не позволяет писать программы, а вот приложения…

    К чёрту интриги, велком под CUT.
    Читать дальше →
  • SMAS: «Отсортированная мульти-массивная структура» (Sorted Multi Array Struct) — альтернатива бинарному дереву поиска

    Вступление


    Здравствуйте, хабравчане. Это моя первая публикация, в которой хочу поделиться структурой данных SMAS. В конце статьи будет предоставлен С++ — класс предложенной структуры данных. Реализация рекурсивная, но моя цель — донести идею. Реализацию не рекурсивной версии — дело второе. Важно «услышать» мнения.

    Что не так с деревом?


    Да, всё так и можно завершать статью, всем спасибо. было бы плюнуть на значительный оверхеад памяти на вспомогательные данные в виде ссылок на левые-правые поддеревья и флаг для балансировки (разный в зависимости от используемой техники — красно-чёрные, АВЛ и т.п. деревья). Ещё один, не то чтобы минус — это постоянная модификация дерева при вставке для балансировки (тут особенно важна сложность и запутанность методов для новичков). На этом минусы заканчиваются и сложно себе представить что-то лучше и более универсальное (хеш-таблицы, ИМХО, ещё круче, но ОХ УЖ ЭТИ КОЛЛИЗИИ).
    Читать дальше →