Намного важнее знать тонкости работы каждого из типов алгоритмов реализации, а именно сложность, понимание почему именно у одного из алгоритмов сложность выше другого (например в алгоримме А 2 цикла+свап, а в Алгоритме Б 3 цикла+ свап, отсюдк сложность разная). Важно понимать на каком объеме данных (и на сколько процентов заранее они отсортированы) какие алгоритмы работают быстрее и медленнее. Например, на низких объемах некоторые школьные алгоритмы сортировок работают быстрее, чем quick sort. Важно понимать механику работы алгоритмов. Также важно знать устойчив ли алгоритм сортировки или нет. Желательно провести сравнение каждого из алгоримов со всеми другими по этим параметрам и запомнить. На основании этой информации и выбирать тот или иной алгоритм, НО! Не реализовывать самому, а использовать уже реализованные в языке. А просто реализовывать - может любой даун переведя с учебника на псевдо-языке , например, на котлин
Короче, нужно подойти к их изучению с математической стороны. Посмотреть на тесты (графики) каждого из алгоритмов на разных обьемах данных и стартовом расположении элементов структуры. Есть статьи по сравнению на хабре.