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

Материал из Викиконспекты
Перейти к: навигация, поиск
(Алгоритм)
(Алгоритм)
Строка 11: Строка 11:
 
Нахождение объекта по номеру:
 
Нахождение объекта по номеру:
  
Пусть l - длина объекта. Идем по порядку по всем элементам объекта (i - позиция элемента в объекте). Каждый элемент p будет являться максимально возможным. Для p кол-во возможных объектов s, начинающихся на элемент  p и имеющих длину l-i+1, не превосходит n. С каждым шагом n уменьшается на s.
+
Пусть <tex>l</tex> - длина объекта. Идем по порядку по всем элементам объекта (<tex>i</tex> - позиция элемента в объекте). Каждый элемент <tex>p</tex> будет являться максимально возможным. Для <tex>p</tex> кол-во возможных объектов <tex>s</tex>, начинающихся на элемент  <tex>p</tex> и имеющих длину <tex>l-i+1</tex>, не превосходит <tex>n</tex>. С каждым шагом <tex>n</tex> уменьшается на <tex>s</tex>.

Версия 22:03, 15 января 2011

Определение

Получение объекта по номеру n- это нахождение объекта, который стоит n-ым в лексикографическом порядке.

Получение номера по объекту - это нахождение номера объекта, стоящего в лексикографическом порядке.

Алгоритм

Нахождение номера по объекту:

[math] n = \sum_{i=1}^l s_{a_i-1}[/math], где [math]s_m[/math] это кол-во возможных объектов длины [math]n-i+1[/math], начинающихся на элемент [math]m[/math], [math]l[/math] - длина данного объекта.

Нахождение объекта по номеру:

Пусть [math]l[/math] - длина объекта. Идем по порядку по всем элементам объекта ([math]i[/math] - позиция элемента в объекте). Каждый элемент [math]p[/math] будет являться максимально возможным. Для [math]p[/math] кол-во возможных объектов [math]s[/math], начинающихся на элемент [math]p[/math] и имеющих длину [math]l-i+1[/math], не превосходит [math]n[/math]. С каждым шагом [math]n[/math] уменьшается на [math]s[/math].