BLG202 2023-2024

Data Structures and Algorithms

Analysis, design and implementation of basic data structures (lists, stacks, queues, trees, graphs) and algorithms for manipulating these structures. C++ language will be used.

Course Notes

Introduction and Algorithm Analysis: Big-O Notation, Complexity Classes.

Diziler (Arrays) ve Dinamik Bellek Yönetimi (Pointers, Memory Allocation).

Linked Lists: Single, Double and Circular Lists.

Stacks (Stacks): Applications (Expression Evaluation, Function Calls)

Queues: Linear and Circular Queues, Priority Queues

Trees: Basic Concepts, Binary Trees, Tree Traversal

Binary Search Trees (BST): Insert, Delete and Search Operations

Midterm Exam

Balanced Trees: AVL Trees, Red-Black Trees.

Graphs: Representation Methods (Neighborhood Matrix/List)

Graph Algorithms: Depth-First Search (DFS), Breadth-First Search (BFS)

Shortest Path Algorithms: Dijkstra, Bellman-Ford.

Sorting Algorithms: Bubble, Selection, Insertion, Merge, Quick

Hash Tables: Hash Functions, Conflict Resolution.

General Review and Final Exam Preparation