COMP9024 is a 2-in-1 course. It consists of two parts:
-
The C Programming Language
-
Data Structures and Algorithms
Together, we have Data Structures and Algorithms in C.
But, we don’t have the luxury of learning the C programming language through traditional methods (like those used in COMP1511).
It means:
-
On one hand, you pay for one course but get the content of two (C + Data Structures and Algorithms).
-
On the other hand, COMP9024 has a steep learning curve.
Please work hard in Week 1 and harder after that.
A picture is more than a thousand words.
To aid understanding, we have visualized most of the algorithms (e.g., Trees/Ast2Dot, Trees/RedBlackTree, and Randomised/Maze) discussed in COMP9024.
EvalExpression("3000 + (1000 + 2000) * 2 + 6 * 4") |
---|
![]() |
Red-Black Tree |
---|
![]() |
Maze |
---|
![]() |
Data structures are about how data is stored inside a computer for effective and efficient use.
An algorithm is a step-by-step process for solving a problem within a finite amount of space and time.
Examples | In C | |
---|---|---|
Data Structures (data) | arrays, stacks, queues, linked lists, trees, graphs, ... | pointer, array, struct, ... |
Algorithms (code) | tree traversal, sorting, searching, graph traversal, ... | expression, statement, function |
COMP9024/Graphs/UndirectedGraph
COMP9024/Graphs/DepthFirstSearch
COMP9024/Graphs/BreadthFirstSearch
COMP9024/Graphs/CycleDetection
COMP9024/Trees/BinarySearchTree