Steven Skiena’s CSE 373: Analysis of Algorithms is a comprehensive university-level course on the mathematical foundations and practical design of algorithms. It begins with algorithm analysis, asymptotic notation, program analysis, and fundamental data structures, then develops major algorithmic techniques including sorting, hashing, heaps, graph representations, breadth- and depth-first search, minimum spanning trees, shortest paths, backtracking, and dynamic programming.
The course concludes with computational complexity and NP-completeness, emphasizing why some problems are efficiently solvable while others appear computationally intractable. The site also provides lecture notes, videos, homework, programming challenges, and difficult problems, making it a particularly useful resource for learning algorithms through both mathematical reasoning and concrete problem solving.
COURSE
PLAYLIST
The course concludes with computational complexity and NP-completeness, emphasizing why some problems are efficiently solvable while others appear computationally intractable. The site also provides lecture notes, videos, homework, programming challenges, and difficult problems, making it a particularly useful resource for learning algorithms through both mathematical reasoning and concrete problem solving.
COURSE
PLAYLIST
┌────────────────────────────────┐
│ KONSTANTINOS MICHAILIDIS │
└────────────────────────────────┘
│ KONSTANTINOS MICHAILIDIS │
└────────────────────────────────┘

