-
Everything is about motivation, what is the purpose of learning algorithms? The purpose is different, and the emphasis is different for different learning methods.
If you are ready to change jobs, for the purpose of interviews, you can start with cracking the coding interview, the topic is arranged according to the linked list, tree diagram, recursive chapters, each chapter has a title, the difficulty is moderate, the first time you can't write it is normal, draw a picture analysis, and then do the second time, the second time is much faster, the understanding is also profound, really can't understand the algorithm, no way, memorize it, maybe I don't know when I will understand it later, the so-called reading a hundred timesThe meaning is self-evident, and so is the algorithm.
If you are a programmer who is halfway home, you can't read the book, you can try to see**, now the network is so developed, there are many free boutiques on the Internet**, such as the data structure of Tanzhou education teachers and the data structure of Tsinghua Deng Junhui teachers are particularly good courses.
The last one is that if you are really interested in the theory and essence of algorithms, and have some mathematical skills, you can try to study "Introduction to Algorithms" or even "The Art of Computer Programming" (I can't stand it anyway).
In fact, no matter what kind of purpose you learn an algorithm, the most important thing is that you should practice more programming and think more, which is nonsense, but it is also the truth.
-
Are you a freshman or sophomore now? Of course, it was a bit difficult to learn algorithms at first, but as long as you study hard, I think you can make a lot of progress in a semester. Usually learn algorithms to pay attention to understand the essence of the algorithm, don't memorize, in addition to doing more questions is the best, go to the oj platform to brush the questions, don't brush 200 questions, embarrassed to say that you have learned algorithms?
-
A lot of people will say"It's hard to learn something"At first, I also thought that it was largely due to immutable factors such as everyone's intelligence level. But then I found out that there is one thing that also determines whether a person finds something difficult to learn, and that is the way of understanding.
There is a big difference in the effect of a thing being understood by a person in different ways. For example, mathematics teaches you a circle, some people can quickly understand what a circle is when they see a circle, and some people have to see the formula x 2 + y 2 = r 2 to feel it, and some people even need it"A set of points whose distance to a fixed point is a fixed length"This description can be understood. This is not necessarily to say who has a higher level of intelligence, but because they have different degrees of sensitivity to different forms of things.
Back to the algorithm. Algorithms are essentially a form of mathematics. He is a collection of abstract operations.
You might find it confusing to say that, but it would be easy to understand if I said that he was just a solution to the problem).So a lot of books, **, or a lot of teachers teach a kind of mathematical description of the algorithm, such an algorithm is quite difficult for me to understand personally, and when I read it, I think of algebra and high numbers or something. But if you find a first-class explanation, or find someone to give you an algorithm step by step, I can understand it immediately.
To put it bluntly, you have to find many, many different angles to try to accept something, and you must be able to find an angle that you are quite sensitive to, and you will be comfortable learning from this angle. The intelligence factor doesn't have much of an impact.
Specifically, you can try these different angles.
Look directly at the algorithm in mathematical form. I personally have the most unacceptable form, but there are people who like it. An example of this is the description above in Introduction to Algorithms.
Listening to general language descriptions, the ideal is to find someone who understands and explain the principles to you in plain language. That's good, a lot of it is how I understand it.
Graphic comprehension, ask the person who understands to draw you illustrations, distribution diagrams, structure diagrams, etc., to decompose an algorithm and find his ideas. Speaking of graphs, there's one person whose blog does a great job of this: matrix67
Procedural comprehension. Find an implementation program of an algorithm, and understand the program, you can try to run it in a distributed manner, and observe the changes in the variables, so as to understand the algorithm.
Algorithms that are too difficult can be understood by writing and changing. At that time, I was like this when I was learning plug dp, no matter what, I always knew a little bit about it, and finally I wrote it again, and it took me a long time to change it, but when I changed it, I really understood what was going on.
Maybe there's something else to do, because people are so receptive to things. Think more about what you usually study, and find out what you are most sensitive to understand.
-
Personally, it's best to start with examples, such as maps, mazes, etc.
-
Focus on understanding the idea and deduce the model.
Copy more, look at the paintings of famous artists, appreciate and think.
Sketching is about the relationship between black and white, can also be said to be the relationship between light and dark, the contrast between light and dark is strong and the picture becomes very comfortable, practice sketching can start from the line, the most important thing is the straight line, the next is the line, and then try to practice geometry to geometric combination, then it is a single still life, still life combination, you don't know when you paint, you can ask the teacher, you can buy some copying books to copy yourself, try to follow the steps when you first start painting, and look at it yourself when you are familiar with the steps. When painting, it is generally the dark part of the painting to a certain extent, and then compare whether it has been painted, if it has been painted, stop and see if the gray part can be painted! Don't get angry when you don't draw well! >>>More
If you want to do a good job, you must first sharpen your tools. First of all, the guitar should be found to be better, if the budget is not much, you can not ask for sound quality, but the workmanship must be in place, the most important two points: the string spacing is appropriate, but the high is not hit, and the string twist is tight, and the rotation is smooth. >>>More
Hehe, I'm playing guard and small front.
I don't know what position you're going to play. >>>More
Writing modern poetry can imitate the modern poems well written by others like writing ancient poems, borrowing its tone, borrowing its linguistic rhythm, borrowing its rhetorical devices, and borrowing the wisdom of others to enrich one's own works. >>>More