Programmer's Path to cultivation-(0) directory

Source: Internet
Author: User

Preface: the path of Programmer's cultivation-(0) Preface: On the road, then the road

In the preface, the Knowledge system has been combed, mainly divided into problem definition, algorithm and data structure, system platform API, programming language implementation, code design, test verification and so on. It's probably the hardest part to focus on writing algorithms and data structures, and then consider complementing the rest.

For this part of the content of the layout, mainly in the "algorithm design and Analysis basis","algorithm" and Leetcode algorithm problems classified as horizontal, with "algorithm design and analysis basis" The classic design techniques listed are longitudinal and run through each section. Because traditional algorithmic books are often structured to speak algorithms, Catalog content classification is rigid. What I want is to solve this kind of problem what algorithm? What skills and ideas are used to design?

(1) Basic Knowledge

The path of programmer's cultivation -(1) Foundation ( above ): Algorithm design

The path of programmer's cultivation -(1) basic ( Middle ): Performance analysis

The path of programmer's cultivation -(1) Foundation ( bottom ): proof of correctness

(2) Linear table

The path of programmer's cultivation -(2) linear table ( top ): Arrays and Lists

The path of programmer's cultivation -(2) linear table ( bottom ): Stack, queue

(3) Sort

The path of programmer's cultivation -(3) sort ( up ): basic sort

The path of programmer's cultivation -(3) sort ( Middle ): Merge and Quick sort

(4) Search

The path of programmer's cultivation -(4) search ( top ): linear and binary search

The path of programmer's cultivation -(4) search ( middle ): Two forks find tree

The path of programmer's cultivation -(4) search ( bottom ): Hash table

(5) String

Very important, a separate chapter. Graph algorithm is equally important, but can be categorized into a sort or search, and the interview is not a lot of test, not alone.

(6) Design Summary

"How to solve problems", poor solution, reduce the rule, divide and conquer, dynamic planning, greed.

(7) system Platform

Computer Architecture (Computer composition principle, assembly language, etc.), operating system (Linux and Windows common system APIs , etc.), compiling links (principles of compilation and linking).

(8) Code Implementation

C/c++/java and other mainstream languages, how to implement our design, including language grammar, memory allocation, encapsulation abstraction, sub-package library and other small details.

(9) Code Design

Abstract level definition, design patterns, refactoring to improve the design.

(Ten) Test Validation

Unit tests.

Programmer's Path to cultivation-(0) directory

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.