Сегодня напишем небольшую консольную утилиту, которая отыщет все файлы-двойники в указанном каталоге.
В этой задаче:
• Рекурсивно обходим дерево директорий.
• Считаем для каждого файла контрольную сумму CRC32, читая его побайтно.
• Выводим лишь те группы, где обнаружено более одного совпадения.
Такой приём часто используют для поиска лишних копий фотографий и документов, оптимизации дискового пространства и контроля резервных копий.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤5👍5
🔥9👍5
Он находит кратчайшие пути даже при наличии отрицательных весов рёбер в графе.
Ключевые моменты:
• Инициализация расстояний: все бесконечны, кроме стартовой вершины.
• Повторное обновление: V−1 раз проходим все рёбра.
• Проверка цикла: ищем возможные отрицательные циклы.
Алгоритм медленнее Дейкстры, но работает надёжно даже в сложных условиях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32❤8👍5🤝1
Перегрузив operator(), мы делаем экземпляр класса вызываемым как обычную функцию и получаем «функтор» с собственным состоянием и логикой.
Что важно знать:
• Хранит данные прямо внутри «функции»
• Удобно передавать в алгоритмы STL.
• Работает там, где нужны колбэки с параметрами и запоминанием контекста.
Поэтому функторы делают код гибким и выразительным, особенно при работе с алгоритмами и шаблонами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27🤝9❤7👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥69❤8👍6🤝5