Создание игры для детей, которая спрашивает их, является ли слово фактическим словом или нет. Поэтому, если мне нужно увидеть все возможные N буквенных комбинаций из 26 алфавитов. Каков наилучший способ сделать это в Objective CПолучить перестановку слов из N длины из массива (например, 26 алфавитов на английском языке) в ObjectiveC
ответ
Ну, прежде чем вы начнете думать о Objective C, вам нужно подумать о структурах данных. Во-первых, подумайте о своих требованиях.
- Вы должны представлять все слова из словаря, отсортированные по длине
- Вы также хотите, чтобы они отсортированы в алфавитном порядке
- Если вы хотите, чтобы все 5 букв слова, как бы вы быстро пропустить все 1, 2, 3 , и 4 буквенных слова, чтобы начать только с 5 буквенных слов?
Принятие эффективной структуры данных позволит вашей программе быстро перебирать ТОЛЬКО возможности с помощью N слов.
Мое предложение было бы сделать два массива. Во-первых, INDEX_ARR должен быть массивом, который является просто ключами, которые представляют вашу длину. Значение этих ключей может быть индексом, в котором, например, начинаются пять буквенных слов в VALUE_ARR. Так что ...
Если вы хотите, чтобы найти все 5 букв слова:
INDEX = INDEX_ARR[4] //This gives you the value of the starting index in your values array
FIRST_5_LETTER_WORD = VALUE_ARR[INDEX]
Затем, вы цикле, пока не дойдете до индекса, соответствующего INDEX_ARR [5]
Вполне возможно, что у вас недостаточно памяти для хранения всех значений в массиве или что это будет неудобно. В этом случае вы можете думать о значениях в вашем INDEX_ARR как о местах в файле на диске.
Я знаю, что это не цель C, но тем важнее понимать понятия.
Удачи вам!
Ваш вопрос заголовок вводит в заблуждение. Вам не нужны «все» перестановки. Вы хотите несколько комбинаций, которые вы можете показать как часть викторины. Большие разные, я думаю ... – lukya
Вы понимаете, что «перестановки» и «комбинации» - это очень, очень и очень разные вещи? В результате ваш вопрос не имеет никакого смысла. Кроме того, есть много слов, о которых вы никогда не слышали. Каковы шансы, что что-то придет, это слово, но не то, что вы знаете? – gnasher729
@ gnasher729 Это именно тот вопрос, который мы задаем пользователю. Действительно ли это слово или нет. для ребенка – user3626615