Какой алгоритм сортировки используется здесь? - PullRequest
0 голосов
/ 31 августа 2011

Во время программирования они задали этот вопрос.

Вопрос: 1 2 3 4 5 6 7 8 9 10 J Q K.

Запись и алгоритм сортировки карточек в обратном порядке за 7 шагов .

K Q J 10 9 8 7 6 5 4 3 2 1.

Я не смог отследить сортировочный алогрит. Какой алгоритм здесь используется?

Ответы [ 2 ]

5 голосов
/ 31 августа 2011

Я думаю, это что-то вроде быстрая сортировка , но с перемещением блока:

1 2 3 4 5 6 7 8 9 10 J Q K

8 9 10 J Q K 7 1 2 3 4 5 6
J Q K 8 9 10 7 1 2 3 4 5 6 
J Q K 8 9 10 7 4 5 6 1 2 3 
K Q J 8 9 10 7 4 5 6 1 2 3 
K Q J 10 9 8 7 4 5 6 1 2 3 
K Q J 10 9 8 7 6 5 4 1 2 3 
K Q J 10 9 8 7 6 5 4 3 2 1

Обновление: на самом деле это может быть даже проще: просто поменяйте местами 1 и K и 2 и Q, 3 и J и т. Д. Всего семь шагов :)

0 голосов
/ 31 августа 2011

Если шаг является свопом, то Сортировка выбора упорядочит список за 6 шагов.

K Q J 10 9 8 7 6 5 4 3 2 1

1 Q J 10 9 8 7 6 5 4 3 2 K

1 2 J 10 9 8 7 6 5 4 3 Q K

1 2 3 10 9 8 7 6 5 4 J Q K

1 2 3 4 9 8 7 6 5 10 J Q K

1 2 3 4 5 8 7 6 9 10 J Q K

1 2 3 4 5 6 7 8 9 10 J Q K

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...