Есть ли эффективный алгоритм, чтобы составить план слова? - PullRequest
0 голосов
/ 15 апреля 2020

Ситуация выглядит следующим образом:

  1. У нас есть 3000 слов, которые нужно запомнить.
  2. Мы хотим запомнить все новые слова за 10 дней (ограничения по времени обзора нет, поэтому нам не нужно учитывать дни обзора)
  3. Каждый день нам нужно проверять слова, которые мы помним в предыдущие дни.
  4. Нам необходимо сохранять продолжительность ежедневного обучения менее чем в 1,2 раза первого дня.
  5. Нам нужно сохранить как можно меньше слов в первый день.

Сложная часть заключается в том, как сохранить дневное время без изменений, когда время ежедневного просмотра увеличивается?

Я пытаюсь построить дерево решений, чтобы решить эту проблему. Каждый узел в этом дереве означает возможный ежедневный новый номер слова этого дня. Таким образом, первый слой означает каждое возможное число первого дня. И подузлы означают данное фиксированное условие, каково возможное число следующего дня. Когда мы закончим sh построить это дерево. Мы можем решить, какие ветви являются квалифицированными, и выбрать ветку с наименьшим номером слова первого дня.

Чтобы это дерево было небольшим, я установил ежедневную длину шага числа слов, равную 100. Это означает, что вы можете выбрать только несколько 100 как ежедневный номер слова. Это работает хорошо, когда общее количество дней мало. Если нам нужно запомнить 30 слов за 3 дня. Работает хорошо. Но когда число слов равно 3000, а число дней равно 10, я всегда получаю сообщение об ограничении памяти. Я могу понять, что в вышеприведенных условиях номер узла дерева должен быть около (3000/100) ^ 10, что недопустимо.

Так что любой другой метод может решить эту проблему с меньшей сложностью?

Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...