What are the 10 must-know algorithms and data structures for a software engineer

Author Topic: What are the 10 must-know algorithms and data structures for a software engineer  (Read 832 times)

Offline rashidacse

  • Full Member
  • ***
  • Posts: 103
  • Test
    • View Profile
These aren't really in a specific order, just as they pop into my head.

Algorithms:

    3-way Quicksort (standard general purpose sort)
    Merge sort (a more scalable sort with similar asymptotic complexity to quicksort)
    DF/BF searches (particularly knowing which the proper one to apply)
    Prim's / Kruskal's (minimum spanning tree)
    Dijkstra's (shortest path)
    Selection algorithm


Data structure

    Hash maps (know all about hashing, really)
    Graphs and trees (red-black trees are good to learn)
    Heaps (priority queues)
    Queues and stacks (real basic building blocks that you should know front to back)
    Tries (a little specific, but very useful in the right scenario)


A* and Genetic algorithms are also fun heuristics to know.