У мене є власне визначення «впорядкованості» послідовності.
З огляду на будь-яку послідовність [a, b, c, ...] ми порівнюємо її з відсортованою послідовністю, що містить однакові елементи, підраховуємо кількість збігів і ділимо її на кількість елементів у послідовності.
Наприклад, із заданої послідовності [5,1,2,3,4]
ми діємо так:
1) сортувати послідовність: [1,2,3,4,5]
2) порівняйте відсортовану послідовність з оригіналом, перемістивши її по одній позиції за часом і підрахувавши максимальну кількість збігів:
[5,1,2,3,4]
[1,2,3,4,5] one match
[5,1,2,3,4]
[1,2,3,4,5] no matches
[5,1,2,3,4]
[1,2,3,4,5] no matches
[5,1,2,3,4]
[1,2,3,4,5] no matches
[5,1,2,3,4]
[1,2,3,4,5] no matches
[5,1,2,3,4]
[1,2,3,4,5] 4 matches
[5,1,2,3,4]
[1,2,3,4,5] no matches
...
[5,1,2,3,4]
[1,2,3,4,5] no matches
3) Максимальна кількість збігів дорівнює 4, "впорядкованість" ми можемо обчислити як 4/5 = 0,8.
Сортированість відсортованої послідовності була б 1, а сортування послідовності з елементами, розміщеними у зворотному порядку, було б 1 / n.
Ідея цього визначення полягає в тому, щоб оцінити мінімальний обсяг роботи, який нам потрібно буде виконати для перетворення будь-якої послідовності в відсортовану послідовність. У наведеному вище прикладі нам потрібно перемістити лише один елемент, 5 (існує багато способів, але переміщення 5 є найбільш ефективним). Коли елементи будуть розміщені в зворотному порядку, нам потрібно буде перемістити 4 елементи. І коли сортували послідовність, робота не потрібна.
Сподіваюся, моє визначення має сенс.