У меня есть список строк, и я хочу найти популярные префиксы. Префиксы отличаются тем, что они встречаются как строки в списке ввода.Как найти и ранжировать все префиксы в списке строк?
Я нашел аналогичный вопрос здесь, но ответы на них направлены, чтобы найти одну наиболее общего префикса: Find *most* common prefix of strings - a better way?
Хотя моя проблема похожа, она отличается тем, что мне нужно найти все популярные префиксы. Или, может быть, сформулировать это немного упрощенно, ранговые префиксы от наиболее распространенных до наименьшего.
В качестве примера, рассмотрим следующий список строк: в Индии, индийский, индийский флаг, бык, задиры, ерунды
Приставки ранг: в - 4 раза Индия - 3 раза бык - 3 раз ... и прочее. Пожалуйста, обратите внимание: внутри, бык, Индия все присутствуют в списке входных данных.
Следующие не являются допустимыми префиксы: Ind бушель буль ... так как они не встречаются в списке ввода.
Какую структуру данных следует искать для моделирования моего решения? Я склонен использовать «trie» с счетчиком на каждом узле, который отслеживает, сколько раз этот узел был затронут во время создания trie.
Все предложения приветствуются. Спасибо.
p.s. - Мне нравится python, и мне бы хотелось, чтобы кто-то мог опубликовать быстрый фрагмент, который мог бы начать меня.
Вы что-нибудь пробовали? – tinySandy
это на самом деле дубликат вопроса, который вы связали .... 'Counter_Instance.most_common (10)' даст вам 10 наиболее распространенных примеров –
Честное признание, это было только на бумаге до сих пор. У вас нет кода для показа. Принимая к сведению в следующий раз. – ainvehi