• деревья и реляционные базы данных. вложенные множества.

    Для работы с древовидными (иерархическими) структурами в первую очередь следует постараться понять какие действия будут осуществляться часто, а какие эпизодически. Цель статьи не описать все возможные способы хранения таких данных,  а в сжатом виде виде описать два часто встречающихся  подхода и область их наилучшего применения. 1.  Узел хранит информацию о родителе. Это  классика. CREATE TREE_NODE

    Читать далее…

  • Сортировка за O(N)-время

    Случайно наткнулся на статью — Fast O(n) Integer Sorting Algorithm. Всегда считал, что O(n*log(n)) это уже очень хороший показатель, а тут ещё быстрее. Например, стандартная реализация сортировки в Java 6 является слегка модифицированным вариантом merge sort, которая дает время n*log(n). Получить ультраускорение сортировки можно только благодаря дополнительным хитростям — использовать знания о самих объектах, которые мы сортируем, и учитывая

    Читать далее…

  • шаблоны проектирования

    GoF Шаблоны проектирования При работе с шаблонами мне интересен был в первую очередь практический аспект.  Сейчас в 2010 году уже существует достаточно много информации и учебников по шаблонам проектирования как в интернете, так и в печатных изданиях. «Классикой жанра» считается книжка «банды четырех» (англ: «Gang Of Four» или просто GoF) — книга написанная Эрихом Гаммой

    Читать далее…