Algorithms and Data Structures
Beschrijving
Algorithms and data structures are fundamental notions in computer science. Understanding how they can be exploited in combination for better programming implementations in terms of time and space complexity is vital for writing efficient code. This course equips students with the analytic and implementation skills needed to design, reason about, and deploy efficient solutions in Java.
The course opens with core data structures, beginning with fundamental containers such as arrays and linked lists and then progressing to ordered structures such as stacks, queues, priority queues, heaps, and maps. The students learn to devise and analyse both iterative and recursive operations, and quantify their time- and space-complexity. The syllabus proceeds to sorting, examining selection, insertion, heap, merge, quick, bucket, and radix sorts so that learners can implement, analyse, and judiciously select an algorithm tailored to different constraints on time and space complexities. Next comes searching: balanced search structures (generic search trees, AVL trees, and (2,4)-trees). The programme culminates in graphs and graph algorithms—covering directed and undirected representations, weighted variants, and adjacency schemas—followed by breadth- and depth-first traversals, connectivity and cycle tests, topological ordering, single-source shortest paths, and minimum-spanning trees, enabling participants to select suitable graph representations and implement state-of-the-art algorithms with proven performance guarantees.
Reviews0 reviews
Heb jij dit vak gevolgd?
Deel je ervaring met toekomstige studenten. Inloggen met je TU Delft mailadres duurt één minuut.
Schrijf een review