šŸ“ Documents

Course documents and compulsory task files

šŸ“„ Compulsory Tasks
C
Compulsory tasks
ASD-eng-tresciZadanDopuszczeniowych-221125.txt 2.5 KB
⬇ Download
I
Input data to compulsory computational tasks
ASD-pl-eng-daneDoZadanDopuszczeniowych-221125.txt 242 B
⬇ Download
āœ… Solutions
E
Example input data with solutions
ASD-pl-eng-przykladoweDaneZrozwiazaniami-221125.txt 396 B
⬇ Download
A
Solution to the compulsory analysis task
ASD-eng-solutionToTheAnalysisTask-z2526.txt 1.6 KB
⬇ Download
S
Solutions to compulsory computational tasks
solutions.txt 4.2 KB
⬇ Download
šŸ“¢ Other
šŸ“¢
Announcements
announcements.txt 11.2 KB
āœ…
My Compulsory Solutions (Michal Piecuch)
MichalPiecuch-s32484-asd-eng-compulsory.txt 12.2 KB

šŸŽ“ Lecture Slides

All 201 lecture slides organized by lecture

šŸ’” Concept Index

Quick reference to key concepts with direct slide links

0
ā–¼ 1 Correctness of Algorithms 6 concepts

01 āœ”ļø Algorithm Correctness

Logic requirements: Total correctness = Partial + Stop property

L1 • Slide 1-3

02 šŸ“‹ Specification Role

Contents and role: Input/Output conditions defining the computational task

L1 • Slide 4-10

03 āœ“ Total vs Partial Correctness

Partial: if stops, then correct. Total: stops AND correct.

L1 • Slide 12

04 šŸ›‘ Stop Property

Proof of termination (necessary for Total Correctness)

L1 • Slide 10, 15

05 šŸ”„ Loop Invariant

Properties: Initialization, Maintenance, and Termination

L1 • Slide 12-19

06 šŸ” Linear Search Invariant

[COMPULSORY] Example of proving correctness via invariants

L1 • Slide 20 ⭐ Exam Compulsory
ā–¼ 2 Complexity of Algorithms 5 concepts

06 šŸ“ˆ Time & Space Complexity

[COMPULSORY] Resource usage (pessimistic, average) relative to input n

L2 • Slide 27-31 ⭐ Exam Compulsory

07 āš–ļø Complexity Analysis

Determining complexity: identifying dominating operations and data size

L2 • Slide 28-31

08 šŸ“ˆ Asymptotic Notation

[COMPULSORY] Big O, Ī©, Θ, o, ω: definitions, role, and usage

L2 • Slide 36-39 ⭐ Exam Compulsory

09 šŸ“Š Function Ranks

[COMPULSORY] Comparing ranks: log n < power < exp < factorial

L2 • Slide 41 ⭐ Exam Compulsory
ā–¼ 3 Searching 8 concepts

10 šŸ” Sequential Search

Idea and complexity of linear search on unsorted data

L3 • Slide 43

11 ā­ļø Skipping Algorithm

Role of k parameter: how k influences time complexity

L3 • Slide 46

12 šŸ” Binary Search

[COMPULSORY] O(log n) search in sorted sequences; exact simulation expected

L3 • Slide 48-54 ⭐ Exam Compulsory

13 šŸ“Š Selection Problem

Finding k-th smallest element; naive vs optimized approaches

L3 • Slide 55

14 šŸ† Tournament Method

Finding Min & Max simultaneously with optimal comparisons

L3 • Slide 56

15 āš–ļø Partition Function

[COMPULSORY] Array partitioning around pivot; simulation variant is key

L3 • Slide 60 ⭐ Exam Compulsory

16 šŸ”¬ Hoare's QuickSelect

Expected O(n) selection using randomized partition technique

L3 • Slide 62
ā–¼ 4 Sorting (Part 1) 5 concepts

17 šŸŽÆ Selection Sort

[COMPULSORY] O(n²) sorting; repeatedly finding minimum

L4 • Slide 67-70 ⭐ Exam Compulsory

18 āž”ļø Insertion Sort

[COMPULSORY] O(n²) worst, O(n) best; builds sorted portion

L4 • Slide 72-76 ⭐ Exam Compulsory

19 šŸ”€ Merge Sort & Function

[COMPULSORY] O(n log n) stable sort; exact merge simulation expected

L4 • Slide 78-82 ⭐ Exam Compulsory

20 šŸ”— Sorting Linked Lists

Comparing sorting efficiency on arrays vs linked segments

L4 • Slide 85
ā–¼ 5 Sorting (Part 2) 6 concepts

21 āš–ļø Stability in Sorting

Preserving relative order; knowing which algorithms are stable

L5 • Slide 91

22 ⚔ QuickSort

Fast expected O(n log n); uses Partition as subroutine

L5 • Slide 92-103

23 šŸ“‰ Complexity Limit Ī©(n log n)

Theoretical lower bound for comparison-based sorting

L5 • Slide 104-105

24 šŸ”¢ CountSort

[COMPULSORY] O(n+k) non-comparison sort; exact phase simulation expected

L5 • Slide 106-107 ⭐ Exam Compulsory

25 šŸ”¢ RadixSort

[COMPULSORY] Digit-by-digit sorting using stable subroutine

L5 • Slide 108-109 ⭐ Exam Compulsory
ā–¼ 7 Abstract Data Structures 6 concepts

26 šŸ—ļø ADT Definition

Logical model of data (Specification) vs Concrete Data Structure

L7 • Slide 112

27 šŸ”— List Variants

Singly, Doubly, and Cyclic linked lists; properties/complexities

L7 • Slide 113-118

28 šŸ“Š Arrays vs Linked Lists

Detailed complexity comparison of basic operations

L7 • Slide 113

29 šŸ“š Linear Structures

Stack (LIFO), Queue (FIFO), Deque; efficient array/list implementations

L7 • Slide 121-125

30 šŸ“Š Amortized Analysis

Aggregate, Accounting, and Potential methods

L7 • Slide 126-133

31 šŸ“ˆ Dynamic Arrays

[ADVANCED] Doubling strategy and amortized insert complexity

L7 • Slide 135
ā–¼ 8 Priority Queue 6 concepts

32 🌳 Binary Tree Basics

Nodes vs height; level properties and complete/full tree definitions

L8 • Slide 148

33 ⭐ Priority Queue ADT

Concept, definition, and efficient implementations vs naive ones

L8 • Slide 146-147

34 🌳 Binary Heap

[COMPULSORY] Implementation as array; complexity of Sift-Up/Down

L8 • Slide 150-153 ⭐ Exam Compulsory

35 āž• Heap Operations

[COMPULSORY] Insertion, delMin, and BuildHeap (O(n)) procedures

L8 • Slide 154-162 ⭐ Exam Compulsory

36 ⚔ HeapSort

[COMPULSORY] In-place O(n log n) sorting using the heap build/extract process

L8 • Slide 163-165 ⭐ Exam Compulsory

37 🌲 Binomial Heap

[OPTIONAL] Advanced heap variants for fast forest merging

L8 • Slide 166-168
ā–¼ 9 Dictionary 8 concepts

38 šŸ“‚ Dictionary ADT

Concept, definition, and comparison of naive vs hash implementations

L9 • Slide 170-171

39 #ļøāƒ£ Hash Tables

Collision handling: Chaining vs Open Addressing (Linear Probing)

L9 • Slide 172-178

40 🌲 Binary Search Tree

[COMPULSORY] BST property; exactly simulating Search/Insert/Delete

L9 • Slide 180-184 ⭐ Exam Compulsory

41 šŸ”„ BST Traversal

Inorder, Preorder, Postorder; producing sorted output from BST

L9 • Slide 185

42 āš–ļø AVL Trees

AVL Balance Factor and idea of rotations for self-balancing

L9 • Slide 188-192

43 šŸ”“āš« Red-Black Trees

Binary balance through node coloring and rotation rules

L9 • Slide 193-197

44 šŸ“‚ B-Trees

Multi-way balanced search trees for external storage caching

L9 • Slide 198-200

45 šŸ”„ Self-organising Trees

[OPTIONAL] Heuristic-based tree adjustment (Splay Trees)

L9 • Slide 201

šŸ“ Additional Non-Compulsory Tasks

Extra practice materials and example solutions

A
Additional Non-compulsory example computational tasks
asd-eng-examplePracticalTest-withInput-part1.txt 1.6 KB
⬇ Download
S
Solutions to additional non-compulsory example tasks
asd-eng-solution2practicalExample-part1.txt 1.4 KB
⬇ Download

🧠 ASD Knowledge Quiz

Test your understanding of algorithms and data structures

šŸŽÆ

Ready to test your skills?

35+ questions covering all 8 lectures (randomized each time)