У меня есть проект запуска, и это о файлах. Я пытался создать алгоритм, но не смог. Я хочу создать алгоритм вместе с базой данных для этих целей
У меня есть много файлов в моей базе данных (файл или отношение к файлу не имеет значения), и когда приходит другой файл, я хочу сравнить этот файл со всеми моими файлами, и если он имеет более чем, например, 80% сходство, я не пусть это сохранится в моей базе данных еще с тем условием, что оно имеет схожесть менее 80% со всеми файлами, которые я хочу сохранить в моей базе данных.
Вы должны хранить 3 переменные: Similarity, Size1 и Size2 (все инициализированы как 0).
Во-первых, вы начинаете сравнивать символ за символом (или побитно или все, что вам нужно) из файлов, и когда вы читаете символ, если их символы одинаковы, вы увеличиваете 1 в Сходстве. После каждого сравнения символов вы увеличиваете 1 в Size1 и Size2.
Вы должны запускать это сравнение до тех пор, пока один из файлов не закончится, а затем просто считать количество символов, оставшихся в файле большего размера, и увеличивать в Size1 или Size2.
Затем вы делите Сходство на размер файла в вашей базе данных (будь то Размер1 или Размер2) и смотрите, будет ли он на 80% или более похож на новый.
надеюсь, это поможет 🙂
Других решений пока нет …