Откуда такой заголовок, и в чём суть проблемы? Кодирование Хаффмана это алгоритм сжатия данных, древний, известный и несложный. Конкретно у меня возникла трудность с его пониманием. То есть, я много раз про него слышал, формально знаю как работает, но это знание о каких-то механических действиях, которые просто делаются и что-то получается. Я читал труд Хаффмана в оригинале, читал Википедию, читал обсуждения на StackOverflow, даже у ChatGPT спрашивал. В итоге всё равно не понял. Так бывает, когда пропускаешь какую-то одну деталь и без неё головоломка никак не складывается...
1. Бинарный поиск Бинарный поиск – это одна из первых вещей, с которыми сталкиваются в начале изучения computer science. Это возможно самый простой пример того, как немного изобретательности может сделать решения, в буквальном смысле, экспоненциально более эффективными. Его суть в том, что нам дан отсортированный массив. Необходимо итеративно делить его пополам, брать значение в середине и сравнивать его с элементом, который хотим найти: если он больше – ищем в правой половине, если меньше – в левой. И так до тех пор, пока элемент не будет найден. Алгоритм бинарного поиска заключается в поиске элемента в упорядоченном массиве...