Java Data structures and algorithms (i)--opening

Source: Internet
Author: User



This article does not speak of technology, the time to talk about the technology and popular there is a strange relationship between the driving force to learn something.






1) technology and popular



The University of the Min data structure is not thick, rich content, but the complexity of the explanation of the problem is less, more difficult to understand, C is not very good, but the basic ideas are still there.



Simple list of lists, arrays, stacks, queues, graphs, and several sorting algorithms.






After seeing the answer of Tao Wu, it was very shocking, here quoted his answer:






If Java is an automatic sedan, C is a manual jeep. What about data structures? is how the gearbox works. You can not know how to work the gearbox, the automatic car from A to B, and not necessarily more than the understanding of people slow. Writing a program, like driving, experience can play a big role, but if you do not know how the bottom is how to work, you can always drive, neither repair cars, nor build cars. If you're not interested in either of these things, the data structure is good to use. But if you are still a bit higher in the field of programming in this lifetime, the data structure is not open to the topic.

Java has done too much for you, so it's still very easy to support the type of container class, plus garbage collection, will make you feel that programming easily. But have you ever wondered how those container classes come and what it means to be there? The most superficial, such as ArrayList this class, you think of its existence is how big welfare--a random access, automatically increase the capacity of the array, this thing C is not, to achieve their own. But how exactly? If you are interested in this kind of problem, the data structure must be seen. Even the object-oriented programming paradigm itself is a data structure problem: how can we encapsulate the data and manipulate the data in a way that can create something like class/prototype?

In addition, it is important that the data structure is also the cornerstone of various practical algorithms, so learning data structure is to enhance the internal force of things.






Anyway I have the feeling of clairvoyant, like saying, I have in the programming more formidable pursue, how can die in the data structure feeling.






In fact, a difficult to understand the technology to speak to people who do not understand, need a lot of skill, including before I wrote the "C and the pointer" at the beginning, the C language has what to answer also he wrote, I admire such people.






So when you can explain a thing clearly to others, similar to the Rubber Duck debugging method mentioned in the previous articles, you understand, feel clearly. With a technical person in the technical language, non-professional language interpretation.






Of course, the premise needs to accumulate. Please refer to the csdn about Luo Shenyang in detail--



Interview Luo Shenyang: Lao Luo's Android tour



At that time startled me, before thought and that old Luo same level of age, behind found good young lad, accumulate, slowly accumulate.









2) Driving force learning



When you see yourself playing Mario can you write it yourself when it is not heart? Immediately learning the driving force is not there-I want to do a thing like this out, and then began to learn, until the completion of their own hands.






At that time I was in the University in the calculation, according to my study speed, 10 years later that can also be a good to coax ah. Some people why technology does not improve, a few years later, because of the driving force of things, there is a period of time I have stopped, Java has almost finished learning, what to do?






Because from the J2SE to EE, the general reading done, and then there is a period of confusion, the driving force is not. Back to realize that they are too superficial, there are some other popular framework useless, the best single case you write it, virtual machine you go deep, Java and a lot of classic books did not see it?



To learn new knowledge as the driving force is also possible, during the constant learning to new knowledge is a very fulfilling and very excited things-the original is such XX.






There is also a-goal-driven, at that time to do a network-related things-think of the crawler, and then to do this for the purpose of , look at other people's code, such a driving force to learn is also possible. Work, if the goal is only in the work of the project, each time the project has a new thing in the inside, that is can learn something, the invariable words, only to discover.



Otherwise, there is a study to the middle of the night-interview Rego: from 1.5K to 18K a programmer's 5-year growth path.






I want to learn python, after learning will find that the original really very good, you can try to use Python to write a crawler, goagent and the like. This is progress.









Pull so much, just do not want their own only to understand the use of Java XX system, only know how to use the container and never know what is inside. These are understood as foundations, and others are studious.






Say back data structure this, why many students listen to sleep, XX chain list, two-way chain list, I sort of have n species, the student's idea is this does not know what use, you tell the list to me, I put it to achieve once, finished.






But when programming problems in your life need to be solved, you will find that the use of data structures everywhere, such as fund buy buy is not a queue, first-out; like a simple class of students to save data, with the number of groups can not solve the problem? There is a tree in Java, but it is not the principle of the use of trees?






All kinds of down, you will find that the original real problems and language inside the package, are related to these, whenever you learn a kind, it will suddenly dawned, this is not the West Lake River of Summer Rain lotus, is this feeling. The students do not think about these problems and not really go to use these language packaging classes, will not take into account the above mentioned things.






So it is normal for a large group of students to lie there to sleep and play cell phones.






After realizing it, I immediately bought the Java data structure and algorithm, which I didn't learn or understand before.






Programmers who don't want to learn the basics are not good programmers.



Java Data structures and algorithms (i)--opening


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.