Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лексикографический порядок

Перестановки различных элементов

Смешанные системы счисления

 

Целое положительное число N однозначно представляется в системе счисления с основанием r

N = d0 + d1*r +d2*r2+…+dk*rk

Из истории известно, что в древнем Вавилоне применяли основание 60, у майя – 20, в арабской системе счисления основание 10, в вычислительной технике широко используются основания 2n: 2, 8, 16.

В системе с основанием r имеются цифры от 0 до r-1, при фиксированном k можно представить числа в диапазоне от 0 до rk+1-1.

Смешанная система счисления использует набор оснований r0, r1, r2…Целое положительное число представляется в виде

N = d0 + d1* r0 +d2* r0* r1+…+dk* r0* r1*…* rk-1

Здесь 0 ≤ di < ri. При фиксированном k числа представляются в диапазоне от 0 до r0* r1*…* rk -1.

Примером использования смешанной системы счисления является представление времени в секундах, минутах, часах, сутках, неделях. В этой системе r0 = r1 = 60, r2 = 24, r3 = 7. Например, число 54283 в этой системе обозначает 5 недель, 4 суток, 2 часа, 8 минут и 3 секунды, что составляет

3 + 8*60 + 2*60*60 + 4*24*60*60 + 5*7*24*60*60 секунд.

Находит применения смешанная система счисления с факториалами, где

N = d0 + d1*1! +d2*2!+…+dk*k!

Здесь r0 = 1, r1 = 2,…, ri = i +1; d0 = 0; 0 ≤ di < i+1, а числа находятся в диапазоне от 0 до (k+1)! - 1. Например, число 29 представляется в этой системе как 10210. Действительно, 0 + 1*1! + 2*2! +0*3! + 1*4! = 29, а

29 | _1__

29 29 | _2__

0 28 14 | _3__

1 12 4 | _4__

2 4 1

Встречается система счисления с убывающими факториалами, в которой

N = d0 + d1*n +d2*n*(n-1) +…+dk*n(n-1)*…*(n-k+1)

В ней r0 = n, r1 = n-1,…, ri = n-i; 0 ≤ di < n-i; k<n.

 

Перестановками множества {a1, a2, …, an} называются расположения этого множества в различном порядке. Перестановка определяется последовательностью индексов располагаемых элементов, поэтому можно считать, что переставляются числа {1, 2, …, n}. Число n считается порядком перестановки. Всего имеется n! Различных перестановок порядка n.

Есть разные способы представления перестановок. Простейший из них – указание последовательности чисел перестановки, например (2, 4, 1, 5, 3). Иногда удобно записывать перестановку в 2 строки, где первая задает места элементов, а вторая сами элементы, например

1, 2, 3, 4, 5

2, 4, 1, 5, 3

 

Если поменять строки местами и упорядочить столбцы по возрастанию чисел в первой строке, то получим перестановку, называемую обратной. Для перестановки A обратная перестановка обозначается A-1. В приведенном примере обратной будет перестановка

1, 2, 3, 4, 5

3, 1, 5, 2, 4

Произведение перестановок C = A*B определяется следующим образом. Если в перестановке A на месте i находится элемент j, а в перестановке B на месте j элемент k, то в произведении C на месте i окажется k. Например,

1, 2, 3, 4, 5 1, 2, 3, 4, 5 1, 2, 3, 4, 5

2, 4, 5, 2, 1 * 5, 3, 1, 2, 4 = 3, 2, 4, 3, 5

Произведение перестановок некоммутативно, то есть A*B ≠ B*A.

Единичной называется перестановка (1, 2, …, n). Произведение как справа, так и слева любой перестановки на единичную не меняет ее, а произведение перестановки на обратную дает единичную перестановку. Таким образом, множество перестановок определенного порядка образуют группу.

В группе перетановок можно решить, например уравнение A*X = B, где A и B – заданные перестановки. Умножая обе части уравнения слева на A-1, получим X = B* A-1.

Распространенными задачами для перестановой являются генерация всех перестановок в определенном порядке и выбор случайной перестановки с равной вероятностью.

Начнем с задачи перечисления всех перестановок в лексикографическом порядке. Перестановка (α1, α2, …, αn) считается лексикографически меньше перестановки (β1, β2, …, βn), если αi = βi при i = 1, …, k и αi < βi при i = k + 1. Лексикографический порядок называют иногда алфавитным. Действительно, именно такой принцип лежит в основе расположения слов по алфавиту. Например, при n = 3 в лексикографическом порядке следуют перестановки (1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1). Если рассматривать эти перестановки как трехзначные числа, то лексикографический порядок совпадает с расположением чисел по возрастанию.

Приведем алгоритм перечисления перестановок порядка n в лексикографическом порядке.

1. Выбор начальной перестановки π = (π1, π2, …, πn) = (1, 2, …, n).

2. Выдача перестановки π.

3. Просмотр перестановки π справа налево. Поиск самой правой позиции i такой, что πi< πi+1. Если это невозможно, то конец перебора (выдана последняя наибольшая перестановка).

4. Поиск πj – наименьшего элемента справа от πi такого, что πj> πi.

5. Транспозиция (обмен) элементов πj и πi. В результате πi+1 > πi+2 > …> πn.

6. Начиная с позиции i+1 изменение элементов перестановки на πn, πn-1,…, πi+1. Переход к 2.

Пусть, например, последняя выданная перестановка π = (2, 6, 5, 8, 7, 4, 3, 1). Здесь n = 8, i = 3 и πi =5, j = 5 и πj =7. После транспозиции элементов πj и πi получается перестановка (2, 6, 7, 8, 5, 4, 3, 1), а после изменения мест конечных элементов приходим к следующей в лексикографическом порядке перестановке (2, 6, 7, 1, 3, 4, 5, 8).

Если перечислять перестановки порядка 5 с самого начала, то последовательно получим перестановки (1, 2, 3, 4, 5), (1, 2, 3, 5, 4), (1, 2, 4, 3, 5), (1, 2, 4, 5, 3) и т. д.

<== предыдущая лекция | следующая лекция ==>
Длинная арифметика | Транспозиция смежных элементов
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 865; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.