Fast and Easy Levenshtein distance using a Trie

<img src="http://stevehanov.ca/blog/images/acer.jpg"/> If you have a web site with a search function, you will rapidly realize that most mortals are terrible typists. Many searches contain mispelled words, and users will expect these searches to magically work. This magic is often done using levenshtein distance. In this article, I'll compare two ways of finding the closest matching word in a large dictionary. I'll describe how I use it on rhymebrain.com

Steve Hanov's Blog

[Перевод] Структуры данных на практике. Глава 11: Префиксные деревья и базисные деревья

Кошмар с автозавершением Наше префиксное дерево было в 8 раз медленнее хэш-таблицы. И оно потребляло 128 МБ памяти, в отличие от хэш-таблицы с 24 МБ. Такого не должно было произойти. Префиксные деревья — стандартное решение для автозавершения: поиск за O(k), где k — длина строки вне зависимости от размера датасета. Идеально подходит для сопоставления префиксов. Обычно всегда используется для автозавершения, проверки правописания и таблиц IP-маршрутизации. Мой коллега предложил использовать префиксное дерево для функции автозавершения в нашем инструменте командной строки. Поиск в нём должен был выполняться по 50 тысячам команд и опций. Учебники говорили, что это правильный выбор. Поэтому мы реализовали префиксное дерево. Результаты бенчмарка оказались ужасными: Префиксное дерево было в 8 раз медленнее простой хэш-таблицы. И оно использовало 128 МБ памяти , в то время как хэш-таблица — всего 24 МБ. Где мы ошиблись?

https://habr.com/ru/articles/1015900/

#префиксное_дерево #базисное_дерево #trie #radix_tree

Структуры данных на практике. Глава 11: Префиксные деревья и базисные деревья

«Самые дешёвые, быстрые и надёжные компоненты — те, которых нет», — Гордон Белл Оглавление Глава 1: Разрыв в производительности Глава 2: Иерархия памяти Глава 3: Бенчмаркинг и профилирование Глава 4:...

Хабр

Love 😍 such articles that cover a topic in depth:

“Modern Perfect Hashing For Strings” [2023], Wojciech Muła (http://0x80.pl/notesen/2023-04-30-lookup-in-strings.html).

On HN: https://news.ycombinator.com/item?id=35764176

#Hashing #PerfectHashing #Lexing #LexicalAnalysis #Programming #Algorithms #Trie #gperf #Tokenization

Modern perfect hashing for strings

New post on our blog! 🌳

Let's explore the tree - "Trie", great for efficiently identifying forbidden words in a given text, such as filtering offensive content and much more!

Link to the full blog post in the first comment 👇

#Codeminer42 #Blog #Trie

実質2行で定義するTrie木(とその改造例) - Qiita

 先週の ABC403 で Trie 木の問題が出ましたね。皆さんは解けましたか? 私は解けませんでした。 せっかくなので Trie 木を自前で実装していきましょう。実は ABC353-E の ユ…

Qiita

☑️ Day 27/100: #Leetcode daily question

🟨 Question: 1233. Remove Sub-Folders from the Filesystem

Easy question

🐈‍⬛ Check out my #GitHub where I post all the daily streak 🔥 questions and #LeetcodeContest 🏆 solutions

🔗 Solution Link: https://github.com/akshatsingh1718/leetcode/tree/main/removeSub-FoldersfromtheFilesystem

🔗 My Leetcode Github: https://github.com/akshatsingh1718

#Algorithms #python #coding #trie

leetcode/removeSub-FoldersfromtheFilesystem at main · akshatsingh1718/leetcode

Contribute to akshatsingh1718/leetcode development by creating an account on GitHub.

GitHub

Изучаем новые структуры данных для iOS разработчика

Мобильные разработчики редко сталкиваются в работе со сложными структурами данных. Как правило, в рутинных задачах вполне достаточно уметь использовать Array , Dictionary и Set . Но сегодня не об этом. Хороших статей о том, как устроены эти структуры данных, предостаточно. Сегодня я хотел бы рассказать о редких и недооцененных структурах данных. И самое главное, как впустить их в свою рутинную жизнь разработчика.

https://habr.com/ru/articles/827162/

#data_structures #alhoritms #swift #deque #heap #orderedset #ordereddictionary #leetcode #trie #мобильная_разработка

Изучаем новые структуры данных для iOS разработчика

Мобильные разработчики редко сталкиваются в работе со сложными структурами данных. Как правило, в рутинных задачах вполне достаточно уметь использовать Array , Dictionary и Set . На моей практике даже...

Хабр

История о том, как Graphviz и бор взломали шифр от Sony

Мою первую статью я желаю посвятить истории о том, как я решил заняться исследованием часто встречающихся в модулях PlayStation Portable непонятных байтовых строк. Никакой документации в Homebrew коммьюнити найти не удалось, так что я взялся за дело сам. Как это было

https://habr.com/ru/articles/826452/

#psp #реверсинжиниринг #бор #trie #graphviz #python #ppsspp #homebrew

История о том, как Graphviz и бор взломали шифр от Sony

Мою первую статью я желаю посвятить истории о том, как я решил заняться исследованием часто встречающихся в модулях PlayStation Portable непонятных байтовых строк. Никакой документации в Homebrew...

Хабр
Python - szybkie dopasowanie adresu IP do klasy adresu CIDR ( https://nfsec.pl/hacks/6434 ) #python #ip #cidr #script #trie #twittermigration
NF.sec – Bezpieczeństwo systemu Linux - Python – szybkie dopasowanie adresu IP do klasy CIDR

python3 -m pip install cidr-trie >>> from cidr_trie import PatriciaTrie >>> ip_owner = PatriciaTrie() >>> ip_owner.insert(

Ari::web -> Trie

Generate unique text with Libtrie!