Бильярдный клуб "РУССКАЯ ПИРАМИДА".
Меню
  • Настольные игры
  • Свинтус
  • Правила игр
  • Шакал
  • Активити игры
  • Бэнг
  • Секреты побед
Menu

Набор букв для составления слов: Составление слов из заданного набора букв

Posted on 04.03.202306.01.2023 by alexxlab

Содержание

  • php — Как составить предложение из букв, введенных пользователем?
      • Зарегистрируйтесь или войдите
      • Отправить без регистрации
      • Отправить без регистрации
  • Игра – тренажёр на составление слов из букв
  • Исследуйте все сочетания букв и слова, их содержащие
    • Инструкции
    • Выбрать следующую комбинацию
  • Что такое аббревиатура? | Merriam-Webster

php — Как составить предложение из букв, введенных пользователем?

Вопрос задан 7 лет 4 месяца назад

Изменён 7 лет 1 месяц назад

Просмотрен 8k раз

На вход программе подаётся набор английских букв. Имеется словарь из слов.

Как сгенерировать такие предложения из слов, чтобы каждое из предложений состояло только из тех букв, что были поданы на вход, учитывая количество повторений.

Пример

Входящий набор символов: hellomyfriend

Вывод программы:

Feed Hilly Morn
Feed Hilly Norm
Feed Horny Mill
Freehold Nil My
Refilled Hon My
Defiler Hymn Lo
и т.д.

Выбрать слова которые удовлетворяют входному набору символов у меня получилось. А вот быстро составлять из них предложения не получается.

Я делал методом перебора всех слов. Для фразы myfavoritegame скрипт отрабатывал около 5 минут. На сайте предложения отдаются мгновенно.

Можете что-нибудь посоветовать?

  • php
  • алгоритм
  • математика
  • поиск

8

Предположим, вам нужно просто найти все возможные комбинации слов из данного словаря, удовлетворяющие условию. Не отвлекаясь на особенности именно языка.

Важно для поиска:

  1. наличие букв в слове. Исключаем содержащие буквы вне заданных. Исключаем, по мере составления фразы, уже использованные.
  2. считаем буквы. В любой момент составления фразы известно, слова какой длины подходят, или точно не подходят.
  3. повторы букв.

Не важно:

  1. порядок букв в словарном слове.
  2. смысл слова.

Для скорости нужно сделать поиск по важным признакам максимально быстрым, при необходимости убрав неважные аспекты.

Для быстрого нахождения слов с подходящим набором букв, но без учёта повторов, можно сделать битный индекс, как предложил @Mirdin: 26 букв английского алфавита = 26 бит. Пронумеровать слова в словаре (или просто индексом считать номер строки) и составить отдельный индекс в две колонки: id слова — битовая маска имеющихся букв. Для словаря меньше 65 тыс. слов, такой индекс будет «весить» 6 байт на слово, менее 400k. Можно держать в оперативной памяти для почти-мгновенного поиска. Так можно быстро найти например, первое слово фразы – просто, чтобы точно были выключены биты «лишних» букв.

Стоит сделать копию словаря, где буквы слова отсортированы по алфавиту, и слова отсортированы по алфавиту. Т.е. опять отдельный индекс: сортированные_буквы - id_слова. Этот индекс будет тяжелее самого словаря на (число слов * 2 или 3 байта). В этом индексе можно быстро находить подходящие слова и отбрасывать точно-неподходящие.

Алгоритм примерно такой. Ищем первое слово. Хочется найти первое же слово наибольшей возможной длины. Перебор по длине, от большего к меньшему. Ест допустимый набор букв и длина. Нашли первое слово, обновили допустимый набор букв и длины слов – ищем следующее слово.

  1. Делаете структуру (таблицу в БД, хеш-таблица, словарь и тд что там есть в пхп) из двух полей на запись: хэш и собственно говоря слово. Забиваем эту структуру словами.
  2. Хэш примерно делается так: индекс буквы в алфавите — степень двойки, все буквы слова складываем (32 бит для русского языка должно хватить). Это простейший вариант, возможно будет необходимо придумать более сложную функцию.
  3. Получив слово которое надо заанаграмить — вычисляем его хэш и ищем по нему в нашей структуре

UPD: Это для одного слова, с фразами будет сложнее, но принцип тот же

2

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

Игра – тренажёр на составление слов из букв

Похожие презентации:

Healthy lifestyle. Здоровый образ жизни

Education in Australia

Тренажер-самоучитель «Правила чтения английских слов»

Спорт в Великобритании. Sport in Great Britain

Sport in USA

Новый формат экзамена по английскому языку (2019-2020)

English grammar. Структура английского предложения

Описание фотографии на английском языке

Yale University. Йельский Университет

Модальные глаголы

Игра – тренажёр на составление слов из букв

О программе
f i r e
e
f
a
b
r
u
i
v
h o t
r
h
a
o
t
s
i
m
r u n
h
u
k
l
r
n
a
m
s k i
c
y
t
a
k
i
s
w
b e d
b
a
s
i
d
u
e
t
k i t e
e
k
i
d
p
t
a
b
d i v e
d
a
m
i
j
v
p
e
s h e l f
a
s
e
w
h
v
f
l
c o l d
l
k
t
c
d
a
o
m
w a l l
o
b
a
v
d
w
l
l
d e s k
a
d
e
b
s
i
c
k
d o o r
l
o
r
b
d
f
o
w
w i n d y
n
t
v
y
w
e
i
d
n
s u n n y
c
u
a
n
i
s
y
s n o w y
o
i
v
c
s
y
n
w
s
r a i n y
h
n
y
a
l
r
i
s t o r m y
i
o
c
r
t
y
m
s
c a r p e t
k
p
r
i
c
a
e
t
w i n d o w
d
u
v
w
o
i
n
w
c l o u d y
a
u
i
d
c
l
o
y
k i t c h en
s
h
k
c
n
t
r
i
e
a r m c h a i r
i
e
s
m
r
r
c
a
n
a
h
Игра-тренажёр “Hungry frog” предназначена для учеников 4 класса,
изучающих английский язык по УМК “Enjoy English” под ред. М. З.
Биболетовой. Она станет хорошим помощником для закрепления лексики по
темам «Погода» (cold, hot, snowy, cloudy, stormy, windy, sunny, rainy, warm),
«Спорт» (dive, run, ski), «Мой дом, квартира, комната» (kitchen, bed, window,
wall, door, armchair, carpet, shelf, desk, fire). В игре ученикам предлагается
составить слова из букв. Для этого следует «кликнуть» мышкой на стрекозе с
буквой, которая есть в названии картинки.
Может быть использована на уроке по повторению и закреплению изученного
в 1 четверти, а также во внеурочное время.
— Изображения взяты из мультимедиа приложения к
учебнику “Enjoy English” для 4 класса “Enjoy Listening
and Playing” и обработаны в графическом редакторе.
— http://grapeviewfire.com/img/fire_and_safety_kitchen.gif
— http://4.bp.blogspot.com/_BRS6UiJz748/S6zBS7oSiI/AAAAAAAAAio/1zd4UUAxMVo/s1600/kite.gif
— http://www.mesenglish.com/flashcards/files/ppt/weather.ppt
— http://im5-tub-ru.yandex.net/i?id=305243420-67-72
— http://lh5. ggpht.com/wnldPAMtymhiV9_X7YrH5Zk2Qhd
oiQ1wxgBQwdhDk__reDcJxWUqaMRgbhAy6UrR1zeY
Yvg=s114
— http://www.arthursclipart.org/nature/nature/fire.gif
— http://zvukitut.narod2.ru/lyagushki_v_bolote_kvakayut__afrika/Lyagushki_v_bolote_kvakajut_-_afrika.mp3
— http://rutracker.org/forum/viewtopic.php?t=3622037 Скрап-набор «Волшебная сказка» (Fairy Tale)
— http://4.bp.blogspot.com/_wcoGOE44ARc/TMgw01bNp
KI/AAAAAAAACT8/qFT5t9YncUM/s320/wind.gif

English     Русский Правила

Исследуйте все сочетания букв и слова, их содержащие

Узнайте, какие слова образованы из сочетаний букв.

Инструкции

  • Добавляйте буквы ниже, пока не получите нужный набор букв (от 2 до 7 букв).
  • Щелкните ссылку, выполняющую нужный запрос для текущей комбинации букв.

Выбрать следующую комбинацию

  • А
  • Б
  • С
  • Д
  • Е
  • Ф
  • грамм
  • ЧАС
  • я
  • Дж
  • К
  • л
  • М
  • Н
  • О
  • п
  • Вопрос
  • р
  • С
  • Т
  • U
  • В
  • Вт
  • Икс
  • Д
  • Z

Что такое аббревиатура? | Merriam-Webster

Слова состоят из букв, но группа букв не обязательно становится словом. Подумайте о FBI или HMO , или TSA , или TGIF — совершенно обычные выражения, с которыми мы сталкиваемся каждый день, но никто не стал бы называть их словами. Их обычно называют аббревиатуры , но есть более специфический термин, который используется лингвистами и людьми, которые любят быть точными в этих вещах: инициализм .

Такие сокращения, как «акваланг» («автономный подводный дыхательный аппарат») произносятся как слова. Инициализмы вроде «ФБР» — нет.

Путаница начинается, когда мы произносим буквы этих аббревиатур как слово, например NATO . Определение акронима , «слово, образованное из начальной буквы или букв каждой из последовательных частей или основных частей составного термина», означает, что акронимы можно отличить от других сокращений, поскольку они произносятся как слова. Некоторые аббревиатуры произносятся так часто, что мы начинаем думать о них как о словах, например 9.Радар 0071 (радиообнаружение и дальность), акваланг (автономный подводный дыхательный аппарат) и лазер (усиление света за счет вынужденного излучения). Другими распространенными аббревиатурами являются ASCII , UNICEF , DARPA и правительственные термины POTUS , FLOTUS и SCOTUS .

Инициализм — это аббревиатура, состоящая из начальных букв. В нашем онлайн-словаре есть записи для примерно 1500 сокращений, в которых используются только заглавные буквы, например ACLU, BBQ, CPR, DIY, POV, PTSD и YMCA. Акроним — относительно новое слово, состоящее из древних частей. Оно вошло в язык примерно в 1940 году, образовано от греческого слова akros , означающего «самый верхний» или «высший», в сочетании с -онимом , от греческого слова onyma («имя» или «слово»). В немецком языке термин Akronym использовался с 1920-х годов.

Инициализм — более старый термин, датируемый серединой 1800-х годов.

Некоторые инициализмы становятся аббревиатурами благодаря тому, что произносятся вслух достаточно часто, чтобы стать больше похожими на слово, чем на набор букв: оба ASAP и LOL часто произносятся как слова.

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Рубрики

  • Активити
  • Активити игры
  • Бэнг
  • Диксит
  • Каркассон
  • Клуэдо
  • Колонизаторы
  • Манчкин
  • Разное
  • Свинтус
  • Секреты побед
  • Шакал
  • Шакал -правила игры
  • Эволюция
  • Эволюция — секреты игры
2019 © Все права защищены. Карта сайта