Answer the question
In order to leave comments, you need to log in
How to learn algorithmic thinking?
hello, when solving problems, problems arise, like the syntax of the language I know, but sometimes I don’t know what and how to write so that all this is done. how to develop such a skill? what literature do you recommend?
Answer the question
In order to leave comments, you need to log in
Bjorn Stroustrup, describing C++, said: "A programming language serves two related purposes: it is a programmer's expressive means for specifying actions to be performed, and it is also a set of concepts that a programmer uses when solving a problem." But a programming language is definitely not a solution to a problem, it is only a means of expression and a tool. So for starters, let's leave programming aside.
The rest is simple. A programmer often lacks some "prelude" to bridge the gap between the idea of a program and the writing of code. This bridge is built like this:
It looks complicated. But not very difficult.
How I look at this whole process, you can see here: An overview of the software development process . A brief academic overview of the whole process can be found in McConnell's book, "Staying Alive. A Guide for Software Project Managers" - a small book to start with.
And I do it differently, if I need to solve a certain problem, I write it on an A4 sheet and begin to disassemble it. For some, like me, visual-algorithmic memory does not work, so my friend is a piece of paper and a pen. Ah, algorithms. Yes, take a book on algorithms, yes read it. In any case, a thing useful in life. Algorithms are everywhere, even your smartphone is full of algorithms. Hold on, but don't bite. It must be liked. You don't need to learn anything. You hammer in your head that you won’t be able to solve the problem, but you write it down and everything will become clear right away.
Algorithmic Thinking course starts on Coursera in a month , which is dedicated to this topic. Perhaps it will be useful.
You can take books from the category "Problems for programmers", for example www.ozon.ru/context/detail/id/29561974
Despite the title, this book contains a lot of very good problems specifically for algorithms. Try to decide for yourself, then compare with the answers.
You need to start by memorizing the definition of the algorithm. Then you have to master the division of the task into parts. Then there will be no questions.
and how to write so that all this is done
Take a task and write how it goes. Then think, erase everything nafig, and write in the normal way. And so several times. Other people's experience is of little help here.
Great question. Everyone should think so.
I would recommend the book "Algorithms: construction and analysis" but it is sooo boring and mathematical. If you read (and understand!) at least the first chapter +100 to the "Smart" skill :)
Read Koromen "Algorithms. Construction and analysis" and solve problems on codeforces
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question