What are the 10 algorithms and data structures that programmers must know?

Source: Internet
Author: User

Algorithm

  1. Figure Search (breadth first, depth first) depth first is especially important
  2. Sort
  3. Dynamic planning
  4. Matching algorithm and network flow algorithm
  5. Regular expressions and string matching

Data

  1. Figure (tree is particularly important)
  2. Map
  3. Heap
  4. Stack/queue
  5. Tries | Dictionary Tree

Additional recommendations

  • Greedy algorithm
  • Probability method
  • Approximate algorithm

Algorithm:

  • Three-way division-Quick Sort
  • Merge sort (more extensibility, similar to quick sorting of complexity)
  • DF/BF Search (to know the usage scenario)
  • Prim/kruskal (minimum spanning tree)
  • Dijkstra (Shortest path algorithm)
  • Selection algorithm

Data

  • HashMap (Really want to know all the hash structures)
  • Figure and tree (red and black trees are very studious) (Red-black trees is good to learn)
  • Heap (priority queue)
  • Stack/queue (basic content that must be known)
  • Tries | Dictionary Tree

What are the 10 algorithms and data structures that programmers must know?

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.