luelhagos / Linked-List

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linked List

  • This repository contains the basic operations of linked lists.

A linked list is a linear data structure where each element is a separate object.

Each element (a node) of a list is comprising of two items - the data and a reference to the next node. The last node has a reference to null. The entry point into a linked list is called the head of the list. It should be noted that head is not a separate node, but the reference to the first node. If the list is empty then the head is a null reference.

A linked list is a dynamic data structure. The number of nodes in a list is not fixed and can grow and shrink on demand. Any application which has to deal with an unknown number of objects will need to use a linked list.

One disadvantage of a linked list against an array is that it does not allow direct access to the individual elements. If you want to access a particular item then you have to start at the head and follow the references until you get to that item.

Another disadvantage is that a linked list uses more memory compare with an array - we extra 4 bytes (on 32-bit CPU) to store a reference to the next node.

Types of Linked Lists

  • A singly linked list a sequence of elements in which every element has link to its next element in the sequence ( it is described above).

  • A doubly linked list is a list that has two references, one to the next node and another to previous node ( items can be navigated forward and backward ).

  • A circular linked list where last node of the list points back to the first node (or the head) of the list.

Example: if we run the SinglyLinkedList.py on any python environment we will get the following output.

See also Wikipedia and tutorialspoint

About


Languages

Language:Python 100.0%