Generalised Linked List (GLL)

So, in this series of blogs, now, coming to the course project, we have implementation of Family tree using Generalized Linked List
So, what actually is a Generalized Linked List or a GLL?
Firstly, we need to know what a general list is.
A generalized list ‘A’ is defined as a finite sequence of elements (or data containers), where ‘A’ is either an atom or a list. The elements ‘Ai’, where, 0 ≤ i ≤ n-1, are said to be the sub lists of ‘A’, that are not atoms of ‘A’.
Using this definition further in our programming domain makes this concept to be called as Generalised Linked List, a further extension to the concept of Linked Lists.
Linked List was constrained in only one direct with one ‘next’ pointer, thus making its operations or applications limited.
In GLL, there’s relaxation on the restriction that the list is linear. So, a basic structure if the GLL consists a ‘next’ pointer, as well as a ‘down’ pointer, which enables the former Linked List to create further sub lists, thus, making it of a general form or a GLL.

Structure of a basic GLL node

To represent a list of items there are certain assumptions about the node structure.
  • Flag = 1 implies that down pointer exists
  • Flag = 0 implies that next pointer exists
  • Data means the atom
  • Down pointer is the address of node which is down of the current node
  • Next pointer is the address of node which is attached as the next node
Generalized linked lists or GLLs are used for handling multiple variable polynomial equation efficiently. Although polynomial operations can be handled using linked list, the disadvantage is that the linked list can handle only single variate polynomials.
Hence, it helps us to represent multi-variable polynomial in a sophisticated way along with the list of elements. Also, another unique or novel of this GLL is the one we are going to do our project in i.e. Family Tree using GLL.
Some Examples:
(1) D = (NULL): the null, or empty. list; its length is zero.
(2) A = (a, (b, c)): a list of length two; its first element is the atom a. and its second element is the linear list (b, c).
(3) B = (A, A, (NULL)) a list of length three whose first two elements are the list A and the third element is the null list.
Explanation:
(1) D is the empty list.
(2) For list A. we have head (A) = a and tail(A) = (b, c); tail (A) also has a head and tail. which are (b, c) respectively.
(3) Looking at list B, we see that head(B) = A and tail(B) = (NULL). Continuing further, we can numerous such representations of these lists, so called, Generalized Lists.

A proper depiction of these list examples in figurative sense is shown below: (Here, 0=NULL)






References:
geeksforgeeks.org
chelponline.com

Link to my complete series of  blogs: https://oopblog1002.blogspot.com/
Do visit all



Course Project -  Family Tree using Generalized Linked List

Description - Implementation of family tree using Generalized Linked List



Topic 1: Introduction
Chinmay Pathak, K, 56, 1710109

Topic 2:  What is GLL?
Saransh Kulkarni, K, 43, 1710532
              Video Link - https://youtu.be/bgAtNHkN1j8

Topic 3:  Algorithm and Results
Aadhiraj More, K, 51, 1710501

Topic 4:  Application of Linked Lists
Sarvesh Patki, K, 72, 1710269
              Video Link - https://youtu.be/QFXnrx0hYoQ



Blogger Handles of Teammates -









      Saransh Kulkarni
TY – K, 43


Comments

  1. You have done great work mate,but i think whoever is pushing you to do this work against your will for just because of some marks they shouldn't .

    ReplyDelete
  2. Nicely explained. Definitely a good way to learn stuff!

    ReplyDelete
  3. 3 video dekhe is par kuch samazha nahi par aapke ek hi blog mein sab samazh gaya. very nice keep it up.

    ReplyDelete
    Replies
    1. Will try to provide content in easiest way possible

      Delete
  4. Great topic for Course Project, and also nicely explained.

    ReplyDelete
  5. I was searching for this topic all over the internet and I think this is best explained. Keep writing such blogs on mass. I hope there is someone behind such blogs , hat's off to them. Please keep writing!!

    ReplyDelete

Post a Comment

Popular posts from this blog

Delving into C++

Type Casting And Cast Operators in C++