Linked list is one of the most basic data structures in computer science. It consists of a sequence of nodes, each pointing to the next node using a pointer. The last node in this linked list points to NULL and hence it points nowhere else. This article will help you understand how linked lists work and use them for solving programming problems related to linked lists.
What are Linked Lists? In order words: A connected series (chain) of blocks with pointers into those blocks indicating where they should be located on disk or memory space if we need more information about them – Those locations could also point back up the chain as well! What does that mean ? That means that when we have some type of block which contains another type of block, we can use a pointer to point from the first type which contains information about this other type.
Linked lists are one way that we might want to store data in memory so that it is readily accessible by computers. Why linked list and not just arrays? There are two reasons for wanting linked lists versus an array: (a) if you only need some part of the entire set at any given time or (b) if you don’t know how many numbers will be needed ahead of time – then using an array would take up too much space!
Using a linked list allows us to have more flexibility because as long as there’s enough room on our computer’s disk storage drive, then storing data in chunks will take up less space.
The linked list starts with a pointer to the first node, which in turn points to the next node and so on – this is how we create “chunks” of data by using pointers!
Interestingly enough, just like an array that has elements arranged in order from smallest number to largest number (or alphabetically), every element in a linked list can be reached because they are stored sequentially. In other words, if you know what position one item falls within the list then there’s no need for looking at each individual entry from beginning to end; simply find the appropriate spot on your computer screen or paper version of the linked list and voila! You’ve found it!
The linked list ends when it comes to a null or “empty” node.
One of the most important features of linked lists is that they are easy to maintain and manipulate: if we want change or delete an item from our linked list, all we have to do is alter its pointer so that it points to the next item in the chain and voila! No more problem data! Not only does this allow for quick changes but also helps with memory management as well because once you’ve deleted something, there’s no need for storing any additional information about what used to be stored on that spot…just like deleting a file off your computer without renaming anything else around it.
This is why many people feel like linked lists make one heck of a data structure–they’re easy to make and manipulate, they require very little memory for storage purposes, and they can offer the same efficiency of other more complex structures.
Linked lists are also perfect for storing things like hierarchical data or linked collections because you only need to store one pointer per node in order to traverse from one end of your list to the other. Let’s say we wanted to keep track of all our favorite Harry Potter books; instead of having an array called “HarryPotterBooks” with each item representing a book (such as [“Hogwarts”, 2004];[“Deathly Hallows Part I”, 2007]…), we could just have a single node that links back up through its pointers into itself over and over again.
Linked lists are also how we can implement linked structures, such as a doubly linked list: –in this case, each node in the list stores two pointers to other nodes instead of just one. This allows us to always be able to move forwards and backwards through our data structure no matter what side we’re on if need be or keep track of different parts at once without having any new memory allocations needed for storing links. Plus it makes them easier to modify in certain ways because all you have to do is change both pointers stored by every node!
Hacking Linked Lists: Breaking Down Data Structures with Python – Free Code Camp Blogs|Linked List Tutorial Part II
Read