Skip to content

This project will make you sort data on a stack, with a limited set of instructions, using the lowest possible number of actions. To succeed you’ll have to manipulate various types of algorithms and choose the one (of many) most appropriate solution for an optimized data sorting

Notifications You must be signed in to change notification settings

aggrssvkid/Ecole42-School21-push_swap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание проекта

Даны 2 стека. Один пустой, в другом лежит случайный набор чисел, который подается на вход в программу. Надобно отсортировать числа в первом стеке за оптимальное количество операций. Операции, которые можно проводить с числами четко заданы в сабжекте. (Сдвиг всех элемнтов на 1 вниз/вверх, свап элементов в топе стека и т.д) Оптимальность алгоритма сортировки указана в чек-листе, он также прилагается к проекту и находится в папке "subject".

Описание процесса создания программы

Так как в задании заданы свои четкие правила игры, мною было решено самому придумать алгоритм сортировки, хоть это было и рискованно. (Можно было бы взять готовый алгоритм даже для этой задачи, т.к все уже есть на гите, но я понимал, что итак смогу повторить его как обезьянка...)

  1. Придумать простейший способ сортировки, не заботясь об оптимизации, но должна быть стопроцентная гарантия, что все числа будут отсортированы.
  2. Тестим, при различных кейсах, правильно ли я написал сам код.
  3. Проверяем, насколько плох наш простейший код с точки зрения количества операций, затраченных на сортировку.
  4. Анализируем и замечаем закономерности, говорящие нам о том, почему наш код плох.
  5. Поняв причины, начинаем улучшать наш алгоритм, обязательно тестируем наши идеи! (Кажущееся улучшение, может стать ухудшением программы...)
  6. Исчерпав все вдохновение и реализовав все идеи, тестируем финальную версию на оптимальность!

About

This project will make you sort data on a stack, with a limited set of instructions, using the lowest possible number of actions. To succeed you’ll have to manipulate various types of algorithms and choose the one (of many) most appropriate solution for an optimized data sorting

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published