#дерево — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #дерево, aggregated by home.social.
-
B-Tree — сбалансированный куст поиска
В реляционных СУБД есть дефолтный тип индекса — B‑Tree: Tree в названии однозначно указывает на дерево, ну а В это, наверно, Binary? Или Balanced? Или Balanced Binary? Почему‑то долгое время я полагал, что это Balanced Binary, и эта версия даже «работала». На деле всё куда интереснее, предлагаю проследовать под кат, чтобы посмотреть на этот на самом деле скорее низкорослый куст и сравнить его с Red‑Black Tree на Java. Точно куст?
-
Прочитал статью про #ABBYY и их лингвистическую вундервафлю. Мне близка и интересна машинная интерпретация языка, пусть я и не лингвист и по работе никогда чем-то похожим не занимался - всё на уровне хобби - бредящие твиттерботы, полуручная заготовка "сырья" для них, всё это ( https://github.com/strizhechenko/epythets ) почему-то показалось мне ух каким весёлым.
В интерфейсах есть такой элемент - #дерево элементов. Реестр в Windows, список папок в thunderbird, проводник, что там ещё. До тех пор:
- пока от него не хотят много - проблем нет
- пока его структуру кто-то целенаправленно контроллирует - проблем почти нет.И вот их подход был в виде "правильной формальной древовидной структуры, требующей обслуживания" и в статье говорится, что цепляние за эту концепцию в качестве основы системы-переводчика их и погубило (ну пока не погубило, но в процессе, #нейросети обгоняют в экономическом плане, или штат лингвистов или стопка видеокарт, которая матрицы перемножит и случится чудо, стагнация, все дела).
Я несколько раз видел, как компании, разрабатывающие продукты, отказываются от них в пользу полнотекстового поиска.
Когда от дерева начинают *хотеть многого*, особенно если это веб-приложение, например, показывать метаинформацию об элементе, типа число непрочитанных писем внутри папки - его пересчёт становится дороже. Если элементы дерева имеют разные типы и считают доп. информацию по-разному - пересчёт тоже дорожает. А самое неприятное - если этим деревом пользуются несколько пользователей и число элементов в нём растёт, растёт, нужно где-то хранить и как-то передавать список развёрнутых узлов, чтобы пересчитывать не вообще всё и при этом помнить, что клиент держит развёрнутым, а что нет... Чувствуете комбинаторный взрыв, которому кэширование и предвычисление - как мёртвому припарка?
Проблема два - контроль за структурой. Увы, #деревья - это как улицы. Чисто там, где:
- не мусорят
- убирают
- никто не живёт (частный случай п. 1)Может я луддит, который за эти самые деревья цепляется (один из примеров - структура каталогов в моих заметках-планировщике-дневнике), но блин, дерево - прекрасная вещь. Да, на систематизацию уходит время, но до чего же приятно найти нужный элемент, когда забыл его названия и не можешь придумать по каким словам ещё искать, просто подумав, где бы ты его расположил. В моём случае ещё и "когда" помогает - я обычно заметки маркирую датой в названии (то есть тут даже find + grep помогли бы).
Берегите деревья!
-
Отчет о проекте эффективного приоритетного дерева SAPT
Отчет о, написанном мною, алгоритмическом статичном двунаправленном дереве, имеющим сложность по всем параметрам. Не считаю эту статью чем-то выдающимся, никуда не претендую, это всего лишь отчет моей работы. Если вам понравится можете свободно пользоваться. В качестве небольшого предисловия: Зачем я спроектировал дерево? Я пишу научный проект из сферы биологии, где присутствует элемент иерархии, и для последовательного выполнения действий следовало отсортировать данные по приоритетам, при этом делать это максимально быстро и эффективно. Пример профилей поведения будет в конце статьи. Читать отчет
https://habr.com/ru/articles/876878/
#алгоритмы_сортировки #алгоритмы_поиска #алгоритм #дерево #деревья_поиска
-
Как Составить Функцию Инициализации Микроконтроллера (Топологическая Сортировка Графов)
В программировании микроконтроллеров приходится определять порядок инициализации прошивки. Порядок тут всегда имеет значение. Дело в том, что прошивка состоит из набора программных компонентов. Каждый компонент вызывает функции из других программных компонентов. Так происходит пере использование кодовой базы. Чтобы всё это работало надо соблюдать правильный порядок инициализации. В этом тексте я представил формальный алгоритм определения этого порядка. По сути это топологическая сортировка графа зависимостей программных компонентов.
https://habr.com/ru/articles/818917/
#топологическая_сортировка #графы #лес #дерево #ориентированный_граф #инициализация
-
[Перевод] Шведский стартап построил самый высокий деревянный ветряк в мире
Что сделано из того же дерева, что и рождественская ёлка, скреплено клеем и изготовлено на шведской фабрике для последующей самостоятельной сборки на месте? Если вам на ум приходит мебель в плоских упаковках и фрикадельки, вы ошибаетесь. Если вы ответили "деревянная ветряная турбина", вы, наверное, провидец. По мнению Modvion, шведского стартапа, который только что построил самую высокую в мире деревянную турбину, использование дерева в ветроэнергетике - это будущее. "У неё огромный потенциал", - говорит Отто Лундман, генеральный директор компании, когда мы смотрим вверх на новую турбину, расположенную в нескольких минутах езды от Гётеборга. До кончика самой высокой лопасти - 150 метров, и мы - первые журналисты, которых пригласили заглянуть внутрь. Генератор мощностью 2 мегаватта на вершине только что начал подавать электричество в шведскую сеть, обеспечивая энергией около 400 домов. Мечта Лундмана и Modvion - поднять дерево и ветер гораздо выше.
-
[Перевод] Зачем учёные создают прозрачное дерево
Тридцать лет назад у ботаника из Германии появилась мечта: увидеть внутреннюю работу растений, не препарируя их. Отбеливая пигменты в клетках растений, Зигфрид Финк сумел создать прозрачную древесину и опубликовал свою методику в нишевом журнале по технологии древесины. Статья 1992 года оставалась последним словом о прозрачной древесине более десяти лет, пока на неё не наткнулся исследователь по имени Ларс Берглунд. Берглунд был вдохновлён открытием Финка, но не по ботаническим причинам. Материаловед, работающий в Королевском технологическом институте KTH в Швеции, специализируется на полимерных композитах и был заинтересован в создании более прочной альтернативы прозрачному пластику. И не только он был заинтересован в достоинствах дерева. За океаном исследователи из Университета Мэриленда были заняты другой целью: использовать прочность древесины в нетрадиционных целях. Теперь, после нескольких лет экспериментов, исследования этих групп начинают приносить плоды. Прозрачная древесина вскоре может найти применение в сверхпрочных экранах для смартфонов, в мягких, светящихся светильниках и даже в строительстве – например, в меняющих цвет окнах.
-
Сегодня продолжил выпиливать клён ясенелистный. Это вредное дерево заполонило всё вокруг, приходиться отбиваться. Оно вытесняет местные виды, разрушает изгороди, а если поросль добирается в огород, то распространяется там как обычный травянистый сорняк. Стоит уехать надолго, как из семечка вымахивают полуметровые побеги.
Выпиливаю и засыпаю пень солью. Вместо клёна высаживаю липу, черёмуху, иргу и немного берёзы. В этом году добавлю облепиху, шиповник и боярышник. Это, кстати, не только мне нравится, но и птичкам.
Но сегодня посадил цепь бензопилы. Проволока оказалась внутри ствола дерева. На фото она торчит с другой стороны спила. Примерно метр инородного материала прижился в дереве.