D. Data structures used in the project - miguemesen/OdisseyRadio GitHub Wiki

Linked Lists

Linked lists are data structures where each element (node) is a separate object and no necessarily adjacent in memory. The linked lists used in "OdisseyRadio" contain T type objects, that way these were generics. These nodes contain a data field reference to another node. This is how the nodes are linked.

The linked lists were implemented when we had to store some data and we weren't certain how much data it was going to be, like when we had to store a certain amount of songs from an artist.


Matrix

A matrix can be thought of as a two-dimensional array or an array of arrays.

The matrix was implemented in the parsing of the csv files. The idea of using a matrix came to head because csv files can be treated as an excel sheet, which is much easier to think about because we're used to working with them and they are not that complex.