defter*
defter / katalog / CS 502
CS 502

Algorithms II

CS 502 is the graduate continuation of the algorithms sequence, where the focus shifts from "can you code a sort" to proving correctness, bounding resources tightly, and recognizing when a new problem reduces to one you've already solved. Most of the term lives on graphs — shortest paths, spanning trees, max-flow — but you also spend serious time on amortized analysis of Fibonacci heaps and disjoint sets, plus string matching, FFT, and approximation schemes for NP-hard problems. Assessment is two midterms, a final, and three projects, with the projects pushing you to actually implement and reason about the trickier data structures. It's the backbone course that the rest of theoretical CS (complexity, cryptography, networks, ML theory) leans on.

Credit3ECTS5FacultyFaculty of EngineeringBölümComputer Engineering

Değerlendirme 100% — 4 adım

40%
30%
3%
27%
Midterm Midterm 40%
Final Final 30%
In-class attendance Attendance 3%
Project Project 27%

Önerilen kaynaklar 2 kitap

📕
Zorunlu
Introduction to Algorithms
T.H.Cormen, C.E.Leiserson and R.L. Rivest
1994 · MIT Press & McGraw-Hill
📖
Önerilen
Applied and Algorithmic Graph Theory
G. Chartrand and O. R. Oellermann
1993 · McGraw-Hill

Haftalık müfredat 14 hafta

Hafta 1
Augmenting Data Structures: augmenting red-black trees, dynamic order statistics, interval trees.
Hafta 2
Advanced priority queue implementations: mergeable-heap operations, binomial heaps, fibonacci heaps, runtime analysis using potential method of analysis
Hafta 3
Data structures for disjoint sets: linked list representation, analysis of weighted union heuristic
Hafta 4
Data structures for disjoint sets: disjoint set forests, analysis of union-by-rank with path compression.
Hafta 5
Graphs and trees: definition, representation and notation. Breadth-First search: correctness of BFS, Breadth first trees
Hafta 6
Depth First search: timestamping vertices, parenthesis theorem, white-path theorem, edge classification.
Hafta 7
Topological sort of dags: DFS-based algorithm, proof of correctness, Kahn's algorithm
Hafta 8
Strongly connected components, use of DFS, proof of correctness, component graph
Hafta 9
Minimum Spanning Tree (MST): generic MST, proof of correctness, two famous greedy algorithms: Kruskal’s and Prim. Fast implementations of Kruskal's and Prim algorithms.
Hafta 10
Single-Source Shortest Paths (SSSP): shortest paths and relaxation, SSSP on dags, Dijkstra’s algorithm for positive edge weigths, Bellman Ford algorithm for general case. How to use Belmann Ford algorithm for a system of difference constraints for solving the feasibility problem on a system of difference constraints.
Hafta 11
All-pairs shortest paths (APSP) - two DP formulations leading to matrix multiplication and Floyd-Warshall algorithms.
Hafta 12
APSPs: transitive closure of a directed graph, Johnson’s algorithm for sparse graphs.
Hafta 13
Maximum Flows: flow networks, Ford-Fulkerson method, residual networks, augmenting paths, max-flow mincut theorem, Edmonds-Karp algorithm
Hafta 14
Maximum Flows: bipartite graph matching, integrality theorem, push-relabel algorithms

🤖 GenAI politikası

Any use of genAI tools in a homework/project assignment must be appropriately

Ders notları — henüz yok

CS 502 için defter ekibi henüz not yazmadı.

İlk dosyayı sen atarsan — not, slayt, geçmiş sınav, çözüm, cheat-sheet, ne varsa — defter ekibi öğrenci paylaşımlarından bu dersin notlarını yazar. Drive linki / PDF / ZIP, hepsi olur.

← katalog

Geçmiş GPA dağılımı 10 dönem · ort. 3.00

DönemCourse CPA
2024-2025 Spring 2.14 1 sec · 7 öğr
2023-2024 Spring 3.47 1 sec · 15 öğr
2022-2023 Spring 3.18 1 sec · 8 öğr
2020-2021 Fall 3.16 1 sec · 20 öğr
2017-2018 Fall 3.26 1 sec · 37 öğr
2013-2014 Fall 2.52 1 sec · 22 öğr
2012-2013 Spring 2.83 1 sec · 23 öğr
2010-2011 Spring 2.82 1 sec · 26 öğr
2008-2009 Spring 3.42 1 sec · 11 öğr
2007-2008 Spring 3.24 1 sec · 22 öğr

Aggregate course GPA — Bilkent STARS'tan public data. Hoca-bazlı per-section detayı için STARS evaluation report →. Öğrenci anket cevapları KVKK kapsamında defter'de tutulmaz.

⚠️ FZ engelleyen şartlar

Course Learning Outcomes: Course Learning Outcome Assessment Become fluent in analyzing algorithms and data structures in terms of correctness and required computational resources. Midterm Final Comprehensively understand, use, and manipulate advanced and efficient data structures. Midterm Develop a comprehensive and in-depth understanding of common algorithm design techniques. Midterm Final Be able to design and analyze algorithms to solve new problems. Final Understand how to formulate differe

Hocalar 1 bu dönem · 2 geçmiş

Bu dönem (2025-2026 Spring) · 1 section
Cevdet Aykanat
Geçmişte ders veren (2 kişi)
Uğur Doğrusöz, Mehmet Koyutürk