- Describe abstract and concrete requirements for data structures and algorithms.
- Describe a range of standard data structures and algorithms, in terms of both functionality and performance characteristics.
- By reasoning about behaviour and performance, be able to critically select appropriate data structures and algorithms for a given application within a software proje
The application must:
- implement two different standard algorithms that solve the same real-world problem;
- make use of appropriate data structures for the application's needs;
- allow you to compare the performance of the two algorithms as you vary the size of the input data.
Ideas:
-
DFS vs BFS Algorithm Knight On a Chessboard
- Find path of a chess piece on a board
- Need to create script for the chess board
- All possible moves would be children in the tree
- Use algorithm to find shortest path
- Applying that algorithm to find best move from the starting square to the finishing one
- User would define starting location and finish location
- Knight can move two squares forward and after either one square right or left
- Allows it to go anywhere on the board
- So first use
-
String Search within Destiny 2 Lore Entries
- Boyer-Moore vs Rabin-Karp
- Different size lore posts to check for
- Menu with options
- Run both algorithms
- Run Boyer-Moore
- Run Rabin-Karp
- Timers to benchmark each of the algorithms