Linked List and DS&A - abukhalil-LTUC-ASAC/amman-401d4 GitHub Wiki
The first major skill roadblock
You might have heard of it in a DSA class at UNI, but you were too tired to understand it back then. Don't fret! its literally a list of objects that point to each other in an accusative manner!
Linked lists, as the name suggest a chain of objects that commonly has one entry point called the head, and one exit point called the tail, or none at all! It comes at a cost of not being able to traverse this list just like you would be able to with arrays, through the index value since there is none. Instead a pointer property is assigned to each element that accuses the other object of being its Next.
When I say object, its the common way to represent linked lists. A property of value and next is assigned to each node/object and a method of linkedlisting helps chain these nodes when you add values and append. Now why linked lists?
WHY DSA AT ALL
It comes of importance, when you would think of ways to organize data in a meaningful way, not necessarily in a neat way though! Depending on your domain you might have crossed into one such as graphs in math, data sets such as graphs of a function attempt to connect data meaningfully, and through graph theory these utilize the same concept of nodes and pointers or connections.
Other computer applications consider computer networks, you cannot say give me the position 5 in network and expect an answer, you could however mention position 5 from your computer (only node entry), and thus link you to possible solutions that are 5 nodes away.
Linked lists are considered a much simpler variant and is very useful in many other applications that involve linear data structures, where there might be a beginning and an end as a single linked list, a beginning with a pointer to the next and previous called doubly linked list, a beginning and no end in a circular linked list.
As you might have noticed, being linked with no clear index position allows for random scattering of data, with only a pointer to the memory location of the next datapoint. This allows for linkedlists to have no clear memory allocation and only depends on your traversal of it, making it a dynamic data structure unlike arrays that have the whole set neatly packed within a set of memory.