🗊Презентация Простейшие переборные задачи. Генерация подмножеств и перестановок

Категория: Математика
Нажмите для полного просмотра!
Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №1Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №2Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №3Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №4Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №5Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №6Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №7Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №8Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №9Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №10Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №11Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №12Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №13Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №14Простейшие переборные задачи. Генерация подмножеств и перестановок, слайд №15

Вы можете ознакомиться и скачать презентацию на тему Простейшие переборные задачи. Генерация подмножеств и перестановок. Доклад-сообщение содержит 15 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Простейшие переборные задачи:
генерация подмножеств и перестановок
Лабораторная работа №1
Раздел: комбинаторика
Описание слайда:
Простейшие переборные задачи: генерация подмножеств и перестановок Лабораторная работа №1 Раздел: комбинаторика

Слайд 2






Цель занятия:
Изучение простейших переборных задач: генерация подмножеств и перестановок.
Описание слайда:
Цель занятия: Изучение простейших переборных задач: генерация подмножеств и перестановок.

Слайд 3





Генерация множества перестановок
Описание слайда:
Генерация множества перестановок

Слайд 4





Генерация множества перестановок
Описание слайда:
Генерация множества перестановок

Слайд 5





Генерация множества перестановок
Описание слайда:
Генерация множества перестановок

Слайд 6





Генерация множества перестановок
Описание слайда:
Генерация множества перестановок

Слайд 7





Генерация множества перестановок
Реализуем этот способ
Необходима функция, принимающая на вход вектор и множество
Множество реализуем бинарным вектором
Также будем передавать число элементов, которые еще необходимо добавить к вектору: если оно равно нулю, значит, перестановка построена
Описание слайда:
Генерация множества перестановок Реализуем этот способ Необходима функция, принимающая на вход вектор и множество Множество реализуем бинарным вектором Также будем передавать число элементов, которые еще необходимо добавить к вектору: если оно равно нулю, значит, перестановка построена

Слайд 8





Генерация множества перестановок
void GenPermut(size_t elems, vector<size_t>& cur, vector<bool>& used) {
    if (elems == cur.size()) {
        for (size_t i = 0; i < cur.size() - 1; ++i) {
            cout << cur[i] + 1 << " ";
        }
        cout << cur[cur.size() - 1] + 1 << "\n";
    }
    for (size_t next = 0; next < elems; ++next) {
        if (!used[next]) {
            cur.push_back(next);
            used[next] = true;
            GenPermut(elems, cur, used);
            cur.pop_back();
            used[next] = false;
        }
    }
}
Описание слайда:
Генерация множества перестановок void GenPermut(size_t elems, vector<size_t>& cur, vector<bool>& used) { if (elems == cur.size()) { for (size_t i = 0; i < cur.size() - 1; ++i) { cout << cur[i] + 1 << " "; } cout << cur[cur.size() - 1] + 1 << "\n"; } for (size_t next = 0; next < elems; ++next) { if (!used[next]) { cur.push_back(next); used[next] = true; GenPermut(elems, cur, used); cur.pop_back(); used[next] = false; } } }

Слайд 9





Построение перестановки по ее номеру
Описание слайда:
Построение перестановки по ее номеру

Слайд 10





Построение перестановки по ее номеру
Описание слайда:
Построение перестановки по ее номеру

Слайд 11





Построение перестановки по ее номеру
Описание слайда:
Построение перестановки по ее номеру

Слайд 12





Построение перестановки по ее номеру
Описание слайда:
Построение перестановки по ее номеру

Слайд 13





Построение перестановки по ее номеру 
vector<size_t> Permutation(size_t elemCount, size_t permNumber) {
    vector<size_t> numbers;
    for (size_t i = 0; i < elemCount; ++i) {
        numbers.push_back(i);
    }
    int64 currentElementsCount = elemCount;
    vector<size_t> ans;
    while (currentElementsCount > 0) {
        int64 k = 0;
        int64 L = fact(currentElementsCount - 1);
        while ((k + 1) * L < permNumber) {
            ++k;
        }
        size_t curNumber = -1;
        for (size_t j = 0; j < elemCount; ++j) {
            if (numbers[j] != -1) {
                ++curNumber;
            }
            if (curNumber == k) {
                ans.push_back(numbers[j] + 1);
                numbers[j] = -1;
                break;
            }
        }
        permNumber -= L*k;
        --currentElementsCount;
    }
    return ans;
}
Описание слайда:
Построение перестановки по ее номеру vector<size_t> Permutation(size_t elemCount, size_t permNumber) { vector<size_t> numbers; for (size_t i = 0; i < elemCount; ++i) { numbers.push_back(i); } int64 currentElementsCount = elemCount; vector<size_t> ans; while (currentElementsCount > 0) { int64 k = 0; int64 L = fact(currentElementsCount - 1); while ((k + 1) * L < permNumber) { ++k; } size_t curNumber = -1; for (size_t j = 0; j < elemCount; ++j) { if (numbers[j] != -1) { ++curNumber; } if (curNumber == k) { ans.push_back(numbers[j] + 1); numbers[j] = -1; break; } } permNumber -= L*k; --currentElementsCount; } return ans; }

Слайд 14





Задания
Описание слайда:
Задания

Слайд 15





Задания
Описание слайда:
Задания



Похожие презентации
Mypresentation.ru
Загрузить презентацию