Before moving on to the main part of the text which describes algorithms and
the software, we need to assure that there is an understanding of the basics. We shall begin with the algorithm definition. What is an algorithm? How can we define it? We may say simply that an algorithm is a sequence of steps or instructions that solves some kind of problem. Although it may be a bit imprecise because we have not defined what does problem mean and what does instruction mean. Problem is a kind of task that we need to solve. We are facing different problems every day: finding the fastest route to work or home, etc. However, not all of them are problems that may fit our algorithm definition. A suitable definition of a problem has some limitations: problem should be specified by its inputs and all inputs have to be mapped to some outputs. Step or instruction is some action that is clear to its executor. In our case, it could be a PC. To solve a problem means to find a solution for each input. Informally, an algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values, as output. An algorithm is thus a sequence of computational steps that transform the input into the output." [1] 5 features of an algorithm • finiteness – an algorithm should end in a finite number of steps. • definiteness – each step of an algorithm should have precise definition. And it means that for the same inputs we will obtain the same results. • input – an algorithm may have inputs, they are taken from some set of objects. • output – an algorithm may have outputs which should be in some relation with inputs. • effectiveness – we may expect an algorithm to be effective. It means "its operations must all be sufficiently basic that they can in principle be done exactly and in a finite length of time by someone using pencil and paper.
After setting up a new visualization, it is easy to control sorting visualization. To run the visualization click on the "Play" button or press R key. "Play" button may not be available in case visualization is already running or is finished. Also, "Play" button resumes sorting process after it was paused. The process is paused by pressing "Pause" button. Stepping through the sorting process is performed by two buttons. Step back action is done by clicking the "Step Back" button, which is to the left of the "Play" button. Step forth is made by clicking the "Step Forth" button, which is to the right of the "Pause" button. Both actions are not possible during sorting is running. In addition, there are buttons that allow go to the beginning and to the end. "Go to start" returns sorting in the initial state. "Go to end" action is intended to fast-forward visualization to the "sorted" state. Finally, the application allows changing the speed of visualization. By default, there is an optimal speed of animation. To slow down animations, move the knob to the left. To make the visualization run faster, slide the knob to the right.

Log in or sign up for Devpost to join the conversation.