Efficient Algorithms for Solving Several Problems in Teaching Programming
Both at school and at higher educational institutions the priority generally is given to standard mathematical problems, which in most cases seem to have quite evident solutions. However some of these problems can be solved in more optimal ways, which are often not been found at all. Based on a range of examples the paper considers how to seek and apply efficient algorithms when solving a specific class of problems in the course of programming teaching. The algorithm efficiency is meant that the program (as far as the current problem specifications require) meets requirements of minimal memory use and certain speed of algorithms. The author has successfully used the problems discussed in the paper for running the distant programming competition among students of physical-mathematical and engineering profiles. Source codes for the programs discussed are indicated in terms of C++ programming language.