это про алгоритм сортировки - PullRequest
0 голосов
/ 23 июля 2010

что происходит с идентичными предметами в сортировке?(алгоритм сортировки), например, как будет выглядеть следующий список после сортировки в порядке возрастания: (f, g, a, r, s, g, a, x)

Ответы [ 2 ]

4 голосов
/ 23 июля 2010

Это зависит от используемого вами алгоритма сортировки.

Некоторые алгоритмы стабильны , что означает, что равные, но отличающиеся элементы будут оставаться в том же порядке, в котором они были начаты. Другие нестабильны , что означает, что порядок может измениться.

В вашем примере вы определенно получите (a, a, f, g, g, r, s, x), но вы не сможете определить разницу между равными элементами. Предположим вместо этого, что мы начинаем с (f1, g1, a1, r1, s1, g2, a2, x1) и сортируем только по первым буквам. Стабильная сортировка гарантировала бы, что мы закончили с (a1, a2, f1, g1, g2, r1, s1, x1) - тогда как нестабильная сортировка могла бы закончиться как (a2, a1, f1, g1, g2, r1, s1 , х1) или что-то подобное.

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

1 голос
/ 23 июля 2010

Зависит от реализации и типа выполняемой вами сортировки.Некоторые из них являются Стабильными, что означает, что они сохраняют исходный порядок (первое g будет оставаться перед вторым).Некоторые нестабильны (не гарантируют, что первый g останется впереди второго)

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