Мне задали вопрос в интервью. Интервьюер сказал мне предположить, что существует функция say getNextWord(), чтобы вернуть следующее слово в данном документе. Моя задача состояла в том, чтобы создать структуру данных для реализации задачи и дать алгоритм, который строит список всех слов с их частотами.Найти число вхождений каждого слова в документе?
Будучи на фоне C++, я должен был создать multimap
из string
, а затем вставить в него все слова, а затем отобразить count
. Мне потом сказали позже, чтобы сделать это в более родовом пути. В общем случае он имел в виду, что он не хотел, чтобы я использовал библиотечную функцию. Кроме того, я предполагаю, что multimap реализован внутренне как 2-3 дерева или около того, поэтому для решения multimap, которое будет общим, мне нужно будет также закодировать 2-3 дерева.
Хотя попытки приходят на ум, реализация одного во время собеседования для меня не о чем. Итак, я просто хотел узнать, есть ли лучшие способы его достижения? Или есть способ реализовать его плавно, используя попытки?
Можете ли вы, пожалуйста, развернуть * generic *? – npinti
По родословной он хотел сказать, что он не хотел, чтобы я использовал библиотечную функцию.Кроме того, я предполагаю, что multimap реализован внутренне как 2-3 дерева или около того. В общем случае он хотел, чтобы я закодировал 2-3 дерева. – hytriutucx
Я бы предположил, что он хотел, чтобы вы описали структуру данных, которую вы используете, например. http://en.wikipedia.org/wiki/Hash_table, или он может захотеть, чтобы вы сделали псевдокод, а не реализацию на C++. – Kunukn