Анонімуси з 4chan знову прославилися на весь світ, тепер новим алгоритмом

На цей раз вони винайшли новий алгоритм сортування чисел, який вже отримав назву "сонного", транслювали його на найбільш популярні мови (програмування). Авторитетний форум для програмістів "Hacker News" обміркував ідею та висловив свій респект. Інший впливовий сайт, Reddit, також приєднався до обговорення.

4chan (на цей раз його підрозділ /prog/) продовжує дивувати не лише як можлива модель "майбутнього" інтернету, не тільки як місце народження групи хакерів-активістів Anonymous, але тепер ще і як місце, де з'являються оригінальні ідеї в програмуванні.

Нагадаємо, що більше про алгоритми сортування можна подивитися тут, на відео з нашого сайту

 

 

 

Початковий неоптимізований код, що сортує лише цілі позитивні числа, виглядав так:

#!/bin/bash
function f() {
    sleep
"$1"
    echo
"$1"
}
while [ -n "$1" ]
do
    f
"$1" &
    shift
done
wait



застосування:

./sleepsort.bash 5 3 6 3 6 3 1 4 7
Результат:
1
3
3
3
4
5
6
6
7

Що робить ця коротка програма - запускає в циклі свої "копії", кожна з яких бере наступне число з тих, що треба відсортувати, і засинає на час, пропорційний цьому числу.

Чим менше число, тим швидше копія прокидається, і друкує своє число. Отже, таким чином менші числа йдуть на друк раніше, ніж більші - і вони стають відсортованими.

Ідея досить красива, хоча і не зовсім практична (навіть після того як код оптимізували для швидкого сортування будь яких за величиною чисел).

комп'ютери технології програмування 4chan anonymous

Знак гривні
Знак гривні