Получение объекта по номеру

Материал из Викиконспекты
Перейти к: навигация, поиск

Перестановки

Рассмотрим алгоритм получения i-ой в лексикографическом порядке перестановки.

[math]f[n]=n![/math]
for [math] i \leftarrow 1 [/math] to [math] n [/math] do    // n-это количество цифр в перестановке
  AlreadyWas \leftarrow (NumOfPermutation-1) div f[n-i]             // сколько цифр уже полностью заняты предыдущими перестановками, тогда очевидно сейчас бы должны поставить ту цифру которая еще полностью не занята, т.е. AlreadyWas+1 - ую
  

Сочетания

Размещения

Битовые вектора

Скобочные последовательности