quartz/content/notes/201-algorithms-and-data-structures.md
2022-04-06 20:13:21 +12:00

73 lines
2.2 KiB
Markdown

---
title: 201 Algorithms and data structures
draft: true
---
# COSC201 - Algorithms and Data Structures
## 1 Lectures
- [Merge sort - divide and conquer](out/notes/merge-sort-divide-and-conquer.md)
- [Lecture 8 Merge sort 2](out/notes/lecture-8-merge-sort-2.md)
- [Lecture 9 Stacks queues and heaps](out/notes/lecture-9-stacks-queues-and-heaps.md)
- [Lecture 10 Heaps and heap sort](out/notes/lecture-10-heaps-and-heap-sort.md)
## 2 Notes
### 2.1 Algorithm Complexity
- [Big-O](out/notes/big-o.md)
- [Big theta](out/notes/big-theta.md)
- [Induction](out/notes/induction.md)
- [analysis of recursive algorithms](out/notes/analysis-of-recursive-algorithms.md)
### 2.2 Algorithms
- [Minimal spending tree](out/notes/minimal-spending-tree.md)
- [Union Find-Disjoint set](out/notes/union-find-disjoint-set.md)
-
### 2.3 Fundamental Data structures
- [Objects](out/notes/objects.md)
- Stacks queues, List/arrays
- [Union Find-Disjoint set](out/notes/union-find-disjoint-set.md)
- Graphs and networks
- Priority queue (heap)
- Weighted
- Unweighted
- Trees (search and optimisation)
- Maps (link between 'keys' and 'values')
- Sets (Unstructured) (no repetition allowed)
## 3 Assignments
[assignment 1](out/notes/assignment-1.md)
## 4 Information
**Staff**
Role | Name | Email | Location | Hours
-----|------|-------|----------|-----|
Lectures | Michael Albert | michael.albert@otago.ac.nz | owheo g.52 | na |
Labs | Reuben Crimp | reuben.crimp@otago.ac.nz | owheo g.37a | na |
**Resources**
[blackboard](https://blackboard.otago.ac.nz/webapps/blackboard/execute/modulepage/view?course_id=_45042_1&cmp_tab_id=_508507_1&mode=view+)
[intro to algorithms book](https://otago.hosted.exlibrisgroup.com/permalink/f/1ihp3dt/OTAGO_ALMA51297974690001891)
**Assessment**
- Internal
- two asignments
- end of week 5 10%
- end of week 10 20%
- labs total 10%
- Exam - 60%
**Course_plan**
- Extension and refinement of Big-O notation for algorithmic analysis.
- The union-find data structure (a case study)
- Merge sort
- Priority queues and heap sort
- Search trees and balancing
- Hashing and hash maps
- Graphs and graph algorithms (shortest paths, minimal spanning trees)
- String algorithms