Что это за алгоритм сортировки? - PullRequest
0 голосов
/ 04 октября 2010

Если , это это Bubble sort, тогда что такое это ?

Видите ли вы размещение Swap ()?

Ответы [ 4 ]

4 голосов
/ 04 октября 2010
3 голосов
/ 05 октября 2010

Первый список действительно является сортировкой выбора.По сути, это тот же алгоритм, который вы указали по ссылке.Но вместо того, чтобы найти элемент, который имеет минимальное значение, и поменять его местами с arr[i] один раз после цикла j, первый код немедленно заменяет arr[i] на любое значение, которое встречается, которое меньше.

В обоих случаях в конце цикла i, arr[i] будет содержать наименьший элемент в пределах диапазона i+1..SIZE.

Между этими двумя алгоритмами есть два различия: код, который вы показываетездесь выполняется более одного обмена на каждую итерацию, и он перетасовывает данные, которые еще не отсортированы (это не очень важно, поскольку они в конечном итоге будут отсортированы).Таким образом, в основном он менее эффективен, чем код, который вы связали.

2 голосов
/ 05 октября 2010

Это своего рода сортировка выбора (как уже сказал Мачей Хель), но очень неэффективная. Вы меняете способ много раз. Эффект заключается в том, что вы меняете своп на минимум, но по пути меняются местами друг с другом, который меньше, чем число, на которое вы смотрите. Это не нужно.

0 голосов
/ 05 октября 2010

Может быть, я упускаю что-то тонкое, но первая ссылка (lorenzod8n.wordpress.com) показывает пузырьковую сортировку;вторая (cprogramminglanguage.net) сортировка выбора.Это даже говорится в тексте.

Редактировать: Я пропустил / забыл что-то тонкое: Bubble Sort обменивается смежными записями;алгоритм в первой ссылке не имеет.Следовательно, это не Bubble Sort, хотя она имеет чрезмерное поведение Bubble Sort.

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