In my Linux cutter tillage stage, I want to start to regain C, using C to achieve common basic data structures and algorithms, and the mastery of data structures and algorithms is the program of beginners and professional programmers watershed.
So how do you start this process?
According to the idea of software engineering, we begin with the requirement analysis, express the requirement with the exact common language, make the specification, and design, realize and maintain it in the back.
Basic data structure and algorithm requirements are relatively clear, but improve communication skills to be expressed in our language, and then modeling, drawing analysis, design, finally to achieve, optimize maintenance.
For drawing tools, I choose Graphviz. Just started using Linux under the Photoshop--gimp, for unfamiliar operation, it is a disaster, but also to use a similar to the Windows system Kolourpaint, inefficient, so found this Graphviz.
Graphviz, a drawing tool developed by some of the famous Bell Labs Bulls, provides the idea of "what you want to be", writing scripts and drawing graphics in dot language, which is easy to understand.
The following tutorial has been written very well, no longer redundant:
Programmer's Drawing Tool
Drawing tools Graphviz Learning to use
The way to open basic data structure and algorithm--Initial knowledge Graphviz