Получение объекта по номеру — различия между версиями

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

Версия 01:04, 26 октября 2011

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

Рассмотрим алгоритм получения 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 - ую
  

Сочетания

Размещения

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

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