Re: число инверсий в перестанове
- From
- Rustam Ramazanov ()
- To
- Gennady Mayko
- Date
- 2003-01-09T18:39:12Z
- Area
- RU.ALGORITHMS
From: Rustam Ramazanov <ramazanoff@univer.kharkov.ua>
Приветствую!
GM> Каким образом можно узнать число инверсий в
GM> заданной перестановке, чтобы
GM> определить, четная эта перестановка или нечетная?
GM> Я знаю (и использую сейчас) способ, основанный на
GM> прямом подсчете инверсий пар
GM> чисел в перестановке, но мне он кажется неэффективным.
Можно попробовать так:
Разбить перестановку в произведение циклов (транспозиция - цикл длиной
2). Делается это в лоб, только надо отслеживать уже задействованные
элементы. Далее посчитать кол-во циклов у которых длина четная. Если их
четное кол-во, то и перестановка четная, если нечетное - перестановка
тоже нечетная.
Возможно это будет реализовать проще, чем подсчет инверсий.
Рустам.
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.ru (2:5020/400)