algorithms-drafts

0
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
3 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
README.md

Черновики моего бесконечного обучения алгоритмам.

Структура папок:

  • /classic: классические алгоритмы (Последовательность Фибоначи, НОД двух чисел и т.д.)
  • /simple: простейшие алгоритмы для личного развития
  • /search: алгоритмы поиска
  • /sort: алгоритмы сортировки
  • /trees: структуры данных относящихся к деревьям (графам)

О подходе:

  • Каждый алгоритм я реализую сам, поэтому скорее всего реализация будет далека от эталонной (это нужно для моего понимания)
  • Некоторые алгоритмы реализованы несколько методами
  • Счетчики итераций и аллокаций памяти пока работает не очень хорошо, но старается :)

Текущие результаты реализаций алгоритмов

Простые алгоритмы сортировки

algorithmimplementationdatasetiterscomparesallocs
bubbleSort::Bubblerand 107563{"Array":26,"Range":11}
bubbleSort::Bubblerand 10052505148{"Array":2520,"Range":101}
bubbleSort::Bubblerand 1000502500501498{"Array":260214,"Range":1001}
selectionSort::Selectionrand 105556{"Array":1}
selectionSort::Selectionrand 10050505051{"Array":1}
selectionSort::Selectionrand 1000500500500501{"Array":1}
combSort::Combrand 10305254{"Range":32,"Array":11}
combSort::Combrand 1001545015149{"Array":2288,"Range":202}
combSort::Combrand 100015045001501499{"Array":258253,"Float":177000,"Range":2002}

Сортировки на основе вставок

algorithmimplementationdatasetiterscomparesallocs
insertionSort::Insertionrand 1091{"Array":26,"Range":1}
insertionSort::Insertion2rand 102458{"Array":1}
insertionSort::Insertionrand 100991{"Array":2520,"Range":1}
insertionSort::Insertion2rand 10024885072{"Array":1}
insertionSort::Insertionrand 10009991{"Array":260214,"Range":1}
insertionSort::Insertion2rand 1000239770480539{"Array":1}
shellSort::Shellrand 103556{"Array":1}
shellSort::Shellrand 1008671322{"Array":1}
shellSort::Shellrand 10001516222639{"Array":1}

Быстрые и эффективные алгоритмы сортировки

algorithmimplementationdatasetiterscomparesallocs
mergeSort::Mergerand 101849{"Array":20}
mergeSort::Mergerand 100473929{"Array":200}
mergeSort::Mergerand 1000792514103{"Array":2000}
quickSort::QuickNonEffectiverand 10451{"Array":17}
quickSort::QuickLomutorand 109127{"Array":1}
quickSort::QuickNonEffectiverand 100471333{"Array":189}
quickSort::QuickLomutorand 1009910297{"Array":1}
quickSort::QuickNonEffectiverand 100047422421{"Array":1897}
quickSort::QuickLomutorand 10009991002997{"Array":1}
tree_sortSort::BinaryTreerand 10624{"Array":19,"Trees::Binary::Node":6,"Trees::Binary":1}
tree_sortSort::BinaryTreerand 10067873{"Array":202,"Trees::Binary::Node":67,"Trees::Binary":1}
tree_sortSort::BinaryTreerand 100062915457{"Array":1888,"Trees::Binary::Node":629,"Trees::Binary":1}