Answer the question
In order to leave comments, you need to log in
Algorithms and Programming?
I am currently learning C#. In general, I taught, I taught and decided to write the program myself. The program had to calculate the Fibonacci sequence up to a given number. I started writing and piled up one, with arrays, classes and other things, that I spat and looked at the solution on the Internet. It turned out to be a pancake, everything is very simple in one function + I had to change a little bit to fit my condition.
A familiar programmer said that I do not know algorithms. I started looking for material on this issue and found “The Art of Programming. Volumes 1-4 "Knut D ...
Questions:
1. What volume is better for a novice programmer to start thinking and building algorithms correctly? (Otherwise, 2929 pages are simply depressing if you read from beginning to end)
2. Maybe there are some more suitable books or articles or something else, for a novice programmer, on this topic?
Answer the question
In order to leave comments, you need to log in
I think it's better to start with Cormen, not Knut. Or it’s easier from someone else, you can from some bourgeois textbook on discrete mathematics (bourgeois, because there books in themselves combine a lot and are chewed like for babies)
Here are some useful books:
Programming algorithms
Graphs and their applications. Combinatorial algorithms for programmers
Mathematical logic and theory of algorithms for programmers: a tutorial.
Yes, everything is fine, it's just that there is not enough experience, the algorithms have nothing to do with it. Need more practice. And it is useful to look at someone else's code.
For a beginner in algorithms, I will advise Ivanov "Discrete Mathematics"
In your case, the problem is with understanding recursion.
For fibonacci - a recursive function in one line.
Algorithms are useful to know because of all the most well-known sorting or searching algorithms, you can choose the one that suits / liked the most, it remains to code according to the finished scheme.
Understanding the constructions and capabilities of the language is a much more profitable vector of development, if you master this, you will be able to independently invent and implement algorithms, and it’s already useful to read Knuth there.
Knuth is very difficult to understand... He even wrote a special additional book in which material to prepare for reading his main books)
Start reading Cormen's "Algorithms. Construction and Analysis". If it seems too complicated, then one of these books:
Wirth N. - Algorithms and Data Structures by
J. McConnell Fundamentals of Modern Algorithms
All of these books have descriptions of the algorithms / data structures themselves and the pseudocode of it all. It will be very useful if you code 65% of the algorithms from the book yourself, looking at the pseudocode or description. Thus, you will upgrade both the algorithms and features of the selected language)
PS As for the additional book, I could have confused it with some other author)
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question