Логарифм Интегралыч
Логарифм Интегралыч личный блог
11 мая 2018, 12:13

сортировка алгоритм и ликбез про логарифм и МЫ

сортировка алгоритм и ликбез про логарифм и МЫ

поискав по форуму и обнаружив очередной
математический пробел и проверив данную тему
на спец форумах и моими программами
сравнивающими одинаковые настраиваемые массивы

сообщаю быстрый алгоритм
на понятном миллионам языке basic
удобно приспосабливаемый в любую программу
а другие алгоритмы сортировки просто непонятные

и одновременно я создал мой алгоритм
как оказалось ускоряющий школьную сортировку
и если удастся заменить переменные на массив
тогда сможет сортировать без чужих алгоритмов

сортировка алгоритм и ликбез про логарифм и МЫ




и заинтересовавшиеся изучите самостоятельно
что пишет интернет например
ru.wikipedia.org/wiki/Алгоритм_сортировки

' SHELL сортировка

n = 100000
DIM a(n)

FOR i = 1 TO n: a(i) = INT((RND * 1000) + 5): NEXT
FOR k = n - 10 TO n: PRINT a(k);: NEXT: PRINT
start = TIMER

' algorithm

d = n \ 2
WHILE d > 0
    DO
        done = 1
        FOR i = 1 TO n - d
            IF a(i) > a(i + d) THEN
                SWAP a(i), a(i + d)
                done = 0
            END IF
        NEXT
    LOOP UNTIL done
    d = d \ 2
WEND

' algorithm

finish = TIMER
FOR i = n - 10 TO n: PRINT a(i);: NEXT: PRINT
PRINT finish - start
END






14 Комментариев
  • Андрей К
    11 мая 2018, 12:38
     школьную сортировку 
    пузырьковый метод называется =)
      • Андрей К
        11 мая 2018, 13:07
        экспорт, 
        а ведь по-моему уменьшение перестановок 
        более важно для оптимизации 
        на современных CPU теоретические знания могут сильно удариться об реальность. Если у вас не малый массив и ооочень заботитесь о скорости какого нибудь алгоритма, вы в первую очередь должны позаботиться, чтобы данные для него были «горячими» и сидели всегда уже на момент расчета в L1 кеше.
        Когда вы уровняете эти условия, тогда уже можно погоняться на кол-ве перестановок и посравнивать различные условия.
        Сейчас уже далеко не факт, что алго с наименьшим кол-ом перестановок в конкретной задачи справится быстрее на тестах. Быть может он плохо расположится в памяти и плохо подастся в L1 кеш.
        Да и такие алго подбираются обычно кастомно под очень конкретную задачу исходя из вводных условий. Тема очень обширная.
        Если вы хотите привязать свой топик в трейдинге. То зачастую от сортировки вообще выгодно отказаться. И делать какую нибудь сквозную адресацию.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн