- Understand and implement basic static and dynamic data structures such as lists, stacks, and queues. (K2, K3)
- Apply recursion and backtracking in algorithmic solutions. (K3)
- Utilize sorting and search algorithms, including advanced techniques like digital sorting. (K3)
- Analyze algorithm complexity, focusing on runtime and memory usage. (K4)
- Work with trees, heaps, and priority queues in problem-solving. (K3)
- Incorporate random numbers and use randomized algorithms. (K3)
- Work with strings and pattern matching algorithms. (K3)
- Develop solutions in Java and efficiently use its data structures and libraries. (K6)
|
The course covers the following topics:
- Complexity
- Lists, Stacks, Queues
- Recursion
- Backtracking
- Trees
- Heaps, Priority Queues
- Sorting (including digital sorting)
- Strings and Patterns
- Random Numbers
- Randomized Algorithms
|