After a long pause, the thought of coding jumped back into my head. May be hoping to record their own life, after all, people’s life such as falling flowers like water; Perhaps inspired by friends, I found that there were fellow travelers around me and I was no longer lonely in writing. It is like putting information into a pot and boiling it, praying that it can be integrated and made into a delicious meal that can be eaten by readers. Ok, the number of words complete, the following into the body.
Main contents of this paper:
- Why learn algorithms and data structures?
- What are algorithms and data structures?
Next period:
- How to learn algorithms and data structures?
We all know that algorithms and data structures are the foundation of computer technology, but we may have doubts about getting a firm grasp of them. Students may ask: how can algorithms and data structures be used? It’s far less intuitive than writing a web page, Android or iOS. Social people may ask: what’s the point of learning after writing tens of thousands of lines of code and using no algorithms or data structures? Indeed, theory and practice always seem more distant. Now I’m going to talk a little bit about why algorithms and data structures are where they are in computer technology and in the real world.
Why learn algorithms and data structures?
1. It’s internal work. It’s the foundation
If we compare various computer technologies to martial arts, algorithms, data structures, operating systems, compilation principles, computer networks and so on all belong to internal work, while the use of various tools such as IDE, Git and so on, and various language apis belong to external work.
Zhang Wuji is to learn “Jiuyang Shengong” to have the ability to quickly learn to master other tricks, learn the speed of the universe big move beautiful small Zhao see silly.
When a building is built, the foundation must be deeper if it is to be built higher. It’s the same reason you have to have solid fundamentals if you want to be a technical expert.
Are you worried about losing your job at 35? Are you worried that technology is moving too fast to learn? Mastery of basic computer knowledge can be said to be the key to this problem. A tree cannot grow a branch out of thin air, it must rely on a previous branch to produce new branches. The same is true of science and technology and culture. Don’t be afraid to throw yourself on the beach because new technologies grow from old ones, and their core doesn’t change much. As long as you don’t float on the surface, but master the underlying principles, you can learn new technologies very quickly. So, what is there to be afraid of?
2. It works. It works
Shannon’s information theory laid the foundation of computers. In today’s Internet era, it can be said that information is diffuse, and electromagnetic waves carry data from various terminals back and forth. We really live in the world of information. In this world, information processing is essential, and algorithms are needed to do this. What’s more, the era of big data requires more efficient algorithms.
This is also a mobile age, and phones, like our embedded hardware, can’t leave. Neuralink, Musk’s biotech company, is developing a device that can be implanted in the brain. In contrast to devices that can be implanted in the brain physically, phones are already implanted in our brains, just mentally. Our lives have come to depend on it as much as our territory is a part of our country.
Back to our daily use of mobile phones to complete many things in life, for example, we order food delivery, how to match the nearest delivery clerk, and how to ensure that he can deliver the order in the limited time? For example, if you want to take a taxi home, how to choose the most appropriate route without traffic jams and detour? We use the search engine to search the content we want, how to match the keyword with the best results presented? These processes definitely involve algorithms.
Today’s commonly used APP can not do without algorithm, mobile phone can not do without APP, and we can not do without mobile phone.
3. Big factories value it
Algorithms and data structures are examined in interviews at large companies. For example, Tencent, Alibaba, Baidu, Bytedance, etc., and Google and Facebook abroad, they need to be fully prepared before they can interview.
Why are algorithms and data structures required for interviews?
Because for big factories, you are not only recruited for your current strength, but also for your long-term growth, that is, whether you have potential. As mentioned in the first point, the computer foundation is the internal work, the foundation, that determines your technical ceiling, that is, your technical potential.
We all want to understand framework principles and design ideas, not just be API callers. Understanding algorithms and data structures helps us to understand the reasons why some data structures and algorithms are chosen in the framework.
If you want to be generic, then code that runs might be your choice. But if you want your code to evolve, there are performance and memory requirements as well as code style and design patterns. Algorithms and data structures give you more ideas and tools to improve performance and reduce memory.
What are algorithms and data structures?
A brief version
If your goal is to get started, or if you’re in a rush for an interview, knowing 10 data structures and 10 algorithms is enough.
10 data structures: array, linked list, stack, queue, hash table, binary tree, heap, hop table, graph, Trie number.
10 algorithms: recursion, sorting, binary search, search, hash algorithm, greedy algorithm, branching algorithm, backtracking algorithm, dynamic programming, string matching algorithm.
The full version
The full version contains more content, no longer listed one by one, refer to the mind map content.
If you need a mind map of the article, you can follow the public account 3.141516 reply algorithm and Data Structure to obtain the xMind source file.
Copyright statement
This article is published in Jianshu, by the author of QinGeneral, on CSDN blog, and on wechat official account: 3.141516. It can be reproduced without authorization, and the above copyright notice is not even required. Please be sure to indicate the author when reprinting.
Scan the code to follow the wechat official account