Пожалуйста, помогите мне в поиске оптимальных решений для этих интересных вопросов структуры данных:структура данных проблем
- Учитывая файл, содержащий прибл 10 миллионов слов, разработать структуру данных для поиска анаграмм
- Написать программу для отображения десяти наиболее часто встречающихся слов в файле, чтобы ваша программа была эффективной во всех мерах сложности.
- У вас есть файл с миллионами строк данных. Только две линии идентичны; все остальное уникально. Каждая строка настолько длинная, что она может даже не вписываться в память. Какое наиболее эффективное решение для поиска идентичных строк?
Добавление еще некоторые вопросы:
4) (задан MS) Вам предоставляется массив строк длины 3. Один из строки в массив помечен как Start строку и другой, как End строка. Вам нужно преобразовать начальную строку в конец строки, учитывая условие, что промежуточная строка, которую вы сделаете, должна отличаться от предыдущей строки только одним символом, и строка должна присутствовать во входном массиве. например. Если вход
Array: {"fat", "tab", "eat", "see", "tub", "fab", "rat", "sel"}
Start: "fat"
End: "tub"
Then the output should be
fat -> fab -> tab -> tub
я пытался решить третью и придумал два возможных appraoches: 1) Только чтение первого слова всех линий, а затем устранить все те строки, в которых первое слово не совпадают с первым словом любой другой строки. Продолжайте получать последовательные слова оставшихся строк таким образом, пока вы не останетесь с двумя строками. Вы получили свой ответ! 2) Преобразуйте каждую строку в меньшее представление. Это может быть достигнуто путем кодирования каждого слова в короткой двоичной форме, а затем для XORing битов, представляющих каждую строку.
Редактировать: У меня теперь есть хорошая коллекция проблем с структурой данных, если кто-то заинтересован в обсуждении их здесь, то я могу опубликовать еще несколько.
@ S.Lott: Если я напишу им, то Ashish может взять на себя эту работу. Я просто возьму зарплату :) –
@Jason Punyon: Поскольку это была моя идея, я хочу 15%. Вы можете оставить все остальное. –
они выглядят как забава - разместите свой код до сих пор ashish;) – KevinDTimm