You are on page 1of 33

Matoshri Education Society’s

MATOSHRI INSTITUTE OF TECHNOLOGY


A/P : Dhanore, Tal-Yeola , Dist.-Nasik, 423401

Micro Project Report


Academic year: 2023-24

Title of Project
Linked List

Name of Student : Wagh Khushal Dhanaji


Class : SYCO
Semester : Third
Roll No : 07
Enrollment No : 2211710046
Seat No : 445468
Program : Computer Engineering
Course : DSU
Course code : 22317
Name of Teacher: Mr. Ranode S.K.

PAGE 1
Matoshri Education Society’s
MATOSHRI INSTITUTE OF TECHNOLOGY
A/P : Dhanore, Tal-Yeola , Dist.-Nasik, 423401

Micro Project Report


Academic year: 2023-24

Title of Project
Linked List

Name of Student : Raundal Yash Suresh


Class : SYCO

Semester : Third
Roll No : 09
Enrollment No :
2211710048 Seat No :
445470

Program : Computer Engineering


Course : DSU
Course code : 22317
Name of Teacher: Mr. Ranode S.K.
Matoshri Education Society’s
MATOSHRI INSTITUTE OF TECHNOLOGY
A/P : Dhanore, Tal-Yeola , Dist.-Nasik, 423401

Micro Project Report


Academic year: 2023-24

Title of Project
Linked List

Name of Student : Ghuge Radha Appa


Class : SYCO
Semester : Third
Roll No : 08
Enrollment No : 2211710047
Seat No : 445469
Program : Computer Engineering
Course : DSU
Course code : 22317
Name of Teacher: Mr. Ranode S.K.
Matoshri Education Society’s
MATOSHRI INSTITUTE OF TECHNOLOGY
A/P : Dhanore, Tal-Yeola , Dist.-Nasik, 423401

CERTIFICATE
This is to certify that Mr. Wagh Khushal
Dhanaji Roll no 07 Of Third
semester of Diploma in
Computer Engineering has successfully
completed the for the Academic yeear 2023 -2024
as prescribed MSBTE Micro Project in Linked List
curriculum under the guidance of subject teacher.

Place:Yeola Enrollment No : 2211710046


Date: Seat No: 445468

Subject Teacher HOD Principal


Mr.Ranode S.K. Mr.Ghorpde M.S Mr. Gujrathi G.S.
Matoshri Education Society’s
MATOSHRI INSTITUTE OF TECHNOLOGY
A/P : Dhanore, Tal-Yeola , Dist.-Nasik, 423401

CERTIFICATE
This is to certify that Mr. Raundal Yash Suresh
Roll no 09 Of Third semester of Diploma in
Computer Engineering has successfully
completed the for the Academic yeear 2023 -2024
as prescribed MSBTE Micro Project in Linked List
curriculum under the guidance of subject teacher.

Place: Yeola Enrollment No : 2211710048


Date: Seat No:445470

Subject Teacher HOD Principal


Mr. Ranode S.K. Mr.Ghorpde M.S Mr. Gujrathi G.S.
Matoshri Education Society’s
MATOSHRI INSTITUTE OF TECHNOLOGY
A/P : Dhanore, Tal-Yeola , Dist.-Nasik, 423401

CERTIFICATE
This is to certify that Ms. Ghuge Radha Appa
Roll no 08 Of Third semester of Diploma in
Computer Engineering has successfully
completed the for the Academic yeear 2023 -2024
as prescribed MSBTE Micro Project in Linked List
curriculum under the guidance of subject teacher.

Place: Yeola Enrollment No : 2211710047


Date: Seat No: 445469

Subject Teacher HOD Principal


Mr. Ranode S.K. Mr.Ghorpde M.S Mr. Gujrathi G.S.
Micro Project Report Index

Academic Year: 2023-24 Program: Computer Engineering


Class: SYCO Course: DSU
Course Code: 22317 Roll No: 07
Enrollment No : 2211710046 Exam Seat No: 445468

Title of Micro Project:- Linked List

Sr. No. Contents Page No.

1 Introduction 16
2 What is a link list? 17

3 Types of link list 18

4 Basic operation in the 19


link list
5 Application of link list 20

6 Conclusion 22

7 References 23

Signature of Student Signature of Faculty


Wagh Khushal Dhanaji Mr. Ranode S.K.
Micro Project Report Index

Academic Year: 2023-24 Program: Computer Engineering


Class: SYCO Course: DSU
Course Code: 22317 Roll No: 09
Enrollment No : 2211710048 Exam Seat No: 445470

Title of Micro Project:- Linked List

Sr. No. Contents Page No.

1 Introduction 16
2 What is a link list? 17

3 Types of link list 18

4 Basic operation in the 19


link list
5 Application of link list 20

6 Conclusion 22

7 References 23

Signature of Student Signature of Faculty

Raundal Yash Suresh Mr. Ranode S.K.


Micro Project Report Index

Academic Year: 2023-24 Program: Computer Engineering


Class: SYCO Course: DSU
Course Code: 22317 Roll No: 08
Enrollment No : 2211710047 Exam Seat No:445469

Title of Micro Project:- Linked List

Sr. No. Contents Page No.

1 Introduction 16
2 What is a link list? 17

3 Types of link list 18

4 Basic operation in the 19


link list
5 Application of link list 20

6 Conclusion 22

7 References 23

Signature of Student Signature of Faculty


Ghuge Radha Appa Mr. Ranode S.K.
ANNEXURE I
Rubric for Evaluation of Micro Project

Academic Year: 2023-24 Program: Computer Engineering


Class: SYCO Course: DSU
Course Code: 22317 Roll No: 07
Enrollment No : 2211710046 Exam Seat No:445468

Title of Micro Project:- Linked List


Group Members:
Sr.No. Roll No. Name of Candidates

1 07 Wagh Khushal Dhanaji


2 08 Ghuge Radha Appa
3 09 Raundal Yash Suresh

CO coverage:
Implement basic operations on linked list.

Indicators for different level of Performance


Marks
(Evaluation Scale 0 to 2)
Sr. No Criteria Obtained
( Out of 2) Poor (0) Average (1) Good (2)

Submission of Not Submitted proposal or project Project proposal &


1 Project anything in report submitted in project report
proposal/Report time time submitted ij time
CO/PRO Not attained Attained some Attained
2 Attainment any CO/PRO CO/PRO Maximum
Contains
Content of Not contains
Contains some relevant maximum
3 project/Formatti relevant
information relevant
ng information information
Total Marks
4 (06)
Question/
5 Answers (04)
Total (10) :

Additional Comments (if any):

Name of Teacher & Sign


Mr. Ranode S.K.
ANNEXURE I
Rubric for Evaluation of Micro Project

Academic Year: 2023-24 Program: Computer Engineering


Class: SYCO Course: DSU
Course Code: 22317 Roll No: 09
Enrollment No : 2211710048 Exam Seat No:445470

Title of Micro Project:- Linked List


Group Members:
Sr.No. Roll No. Name of Candidates

1 07 Wagh Khushal Dhanaji


2 08 Ghuge Radha Appa
3 09 Raundal Yash Suresh

CO coverage:
Implement basic operations on linked list.
Indicators for different level of Performance
Marks
(Evaluation Scale 0 to 2)
Sr. No Criteria Obtained
( Out of 2) Poor (0) Average (1) Good (2)

Submission of Not Submitted proposal or project Project proposal &


1 Project anything in report submitted in project report
proposal/Report time time submitted ij time
CO/PRO Not attained Attained some Attained
2 Attainment any CO/PRO CO/PRO Maximum
Contains
Content of Not contains
Contains some relevant maximum
3 project/Formatti relevant
information relevant
ng information information
Total Marks
4 (06)
Question/
5 Answers (04)
Total (10) :

Additional Comments (if any):

Name of Teacher & Sign


Mr. Ranode S.K.
ANNEXURE I
Rubric for Evaluation of Micro Project

Academic Year: 2023-24 Program: Computer Engineering


Class: SYCO Course: DSU
Course Code: 22317 Roll No: 08
Enrollment No : 2211710047 Exam Seat No:445469

Title of Micro Project:- Linked List


Group Members:
Sr.No. Roll No. Name of Candidates
1 07 Wagh Khushal Dhanaji
2 08 Ghuge Radha Appa
3 09 Raundal Yash Suresh

CO coverage:
Implement basic operations on linked list.
Indicators for different level of Performance
Marks
(Evaluation Scale 0 to 2)
Sr. No Criteria Obtained
( Out of 2) Poor (0) Average (1) Good (2)

Submission of Not Submitted proposal or project Project proposal &


1 Project anything in report submitted in project report
proposal/Report time time submitted ij time
CO/PRO Not attained any Attained some Attained
2 Attainment CO/PRO CO/PRO Maximum
Contains
Content of Not contains
Contains some relevant maximum
3 project/Formatti relevant
information relevant
ng information information
Total Marks
4 (06)
Question/
5 Answers (04)
Total (10) :
Additional Comments (if any):

Name of Teacher & Sign


Mr. Ranode S.K.
Micro Project Proposal

Academic Year: 2023-24 Program: Computer Engg


Class: SYCO Course: DSU
Course Code: 22317 Roll No: 07
Enrollment No: 2011710046 Exam Seat No:445468

Title of Micro Project: Linked List

Group Members:
Sr no Roll no Name Of Candidates

1 07 Wagh Khushal Dhanaji


2 08 Ghuge Radha Appa
3 09 Raundal Yash Suresh

Content / Key Points:


Understanding concets of organization

Stationary/ Material Required (if any):

Internet Source

References:

https://www.simplilearn.com/tutorials/data-structure-tutorial/linked-list-in-data-structure
Micro Project Proposal

Academic Year: 2023-24 Program: Computer Engg


Class: SYCO Course: DSU
Course Code: 22317 Roll No: 09
Enrollment No: 2011710048 Exam Seat No:445470

Title of Micro Project: Linked List

Group Members:
Sr no Roll no Name Of Candidates

1 07 Wagh Khushal Dhanaji


2 08 Ghuge Radha Appa
3 09 Raundal Yash Suresh

Content / Key Points:


Understanding concets of organization

Stationary/ Material Required (if any):

Internet Source

References:

https://www.simplilearn.com/tutorials/data-structure-tutorial/linked-list-in-data-structure
Micro Project Proposal

Academic Year: 2023-24 Program: Computer Engg


Class: SYCO Course: DSU
Course Code: 22317 Roll No: 08
Enrollment No: 2011710047 Exam Seat No:445469

Title of Micro Project: Linked List

Group Members:
Sr no Roll no Name Of Candidates

1 07 Wagh Khushal Dhanaji


2 08 Ghuge Radha Appa
3 09 Raundal Yash Suresh

Content / Key Points:


Understanding concets of organization

Stationary/ Material Required (if any):

Internet Source

References:

https://www.simplilearn.com/tutorials/data-structure-tutorial/linked-list-in-data-structure
Micro Project Log Book

Semester : Third Program : Computer Engineering


Course : DSU Class : SYCO

Topic of the Micro-Project :-Linked List

Sr.No. Roll No. Name of Group Members Sign


1 07 Wagh Khushal Dhanaji
2 08 Ghuge Radha Appa
3 09 Raundal Yash Suresh

Week Discussion & Details Teacher’s Teacher’s


No. Comment Sign
1 General Discussion about micro project activity.
2 Guidelines for micro project
3 Discussion on different industry/application/study
oriented topics
4 Group member are finalized and the topic is
decided, as
5 Work distribution to collect the information regarding
topic by each member.
6 Gathered information through the various sources, such
as internet, book, magazine, joutrnar and newspaper
7 Discussed the difficulty faced during the collection
of necessary information among the group member.
8 Discussion with the guide to sort out differently faced
while collecting the information.
9 Prepared a rough draft & shown it to the guide.

10 Necessary instructions are given by the guide for


its better Presentation & Finalized project.
11 Presentation is given on the topic, Report is prepared onthe
topics & final submission of micro project and
Report

Name & Signature of project Guide Name & Signature of HOD


Mr. Ranode S.K. Mr.Ghorpade .M.S
Introduction
In computer science a linked list is a linear collection of data
elements whose order is not given by their physical placement in
memory. Instead, each element points to the next. It is a data
structure consisting of a collection of nodes which together
representa sequence. In its most basic form, each node contains
data, and
a reference (in other words, a link) to the next node in the
sequence.This structure allows for efficient insertion or removal
of elements from any position in the sequence during iteration.
More complex variants add additional links, allowing more
efficient insertion or removal of nodes at arbitrary positions. A
drawback of linked lists is that data access time is a linear
function of the number of nodes for each linked list (I.e., the
access time linearly increases as nodes areadded to a linked list.)
because nodes are serially linked so a node needs to be accessed
first to access the next node (so difficult
to pipeline). Faster access, such as random access, is not
feasible. Arrays have better cache locality compared to linked
lists.
Linked lists are among the simplest and most common
datastructures. They can be used to implement several
other common abstract data types,
including lists, stacks, queues, associative arrays, and S-
expressions, though it is not uncommon to implement those data
structures directly without using a linked list as the basis.
The principal benefit of a linked list over a conventional array is
that the list elements can be easily inserted or removed without
reallocation or reorganization of the entire structure because the
dataitems do not need to be stored contiguously in memory or on
disk, while restructuring an array at run-time is a much more
expensive operation. Linked lists allow insertion and removal of
nodes at any point in the list, and allow doing so with a constant
number of operations by keeping the link previous to the link
being added or removed in memory during list traversal.
What is linked list ?
A linked list is a linear data structure, in which the elements are
not stored atcontiguous memory locations. The elements in a
linked list are linked using pointers as shown in the below image:

In simple words, a linked list consists of nodes where each


node contains adata field and a reference(link) to the next node
in the list.
If arrays accommodate similar types of data types, linked lists
consist ofelements with different data types that are also arranged
sequentially.
Types of link list

 Singly Linked List − The nodes only point to the


address of the nextnode in the list.

 Doubly Linked List − The nodes point to


the addresses of bothprevious and next
nodes.

 Circular Linked List − The last node in the list will


point to the firstnode in the list. It can either be singly
linked or doubly linked

 Singly Link list.


Singly linked lists contain two “buckets” in one node; one bucket
holds the data and the other bucket holds the addressof the next
node of the list. Traversals can be done in one only as there is
only a single link between two nodes of the same list.
 Doubly Link list
Doubly Linked Lists contain three “buckets” in one node; one
bucket holds the data and the other buckets hold the addresses of
the previous and next nodes in the list. The list istraversed twice
as the nodes in the list are connected to each other from both
sides.

 Circular Link list


Circular linked lists can exist in both singly linked list anddoubly
linked list.

Since the last node and the first node of the circular linked
listare connected, the traversal in this linked list will go on
forever until it is broken.
Basic Operations in the Linked Lists
The basic operations in the linked lists are insertion, deletion,
searching, display, and deleting an element at a given key.
These operations are performed on Singly Linked Lists asgiven
below

Insertion − Adds an element at the beginning of the list.


Deletion − Deletes an element at the beginning of the list.
Reverse - Reverse an element at the beginning of the list

Insertion Operation
Adding a new node in linked list is a more than one step activity.
We shall learn this with diagrams here. First, create a node using
the same structureand find the location where it has to be
inserted.
Algorithm
1. START
2. Create a node to store the data
3. Check if the list is empty
4. If the list is empty, add the data to the node and assign the
head pointer toit.
5 If the list is not empty, add the data to a node and link to the
current head.Assign the head to the newly added node.
6. END

Example

Following are the implementations of this operation in variousprogramming languages

#include <stdio.h> #include <string.h> #include <stdlib.h> struct node

{ int data;

struct node *next;

};

struct node *head = NULL; struct node *current = NULL;

void printList(){

struct node *p = head;

printf("\n[");

while(p != NULL) {

printf(" %d ",p-

>data); p = p->next;

printf("]");

}
struct node *lk = (struct node*) malloc(sizeof(struct

node)); lk->data = data;

lk->next =

head; head =

lk;

void main(){

int k=0;

insertatbegin(12);

insertatbegin(22);

insertatbegin(30);

insertatbegin(44);

insertatbegin(50);

printf("Linked List:

");

printList();

output:-

Linked List:
[ 50 44 30 22 12 ]
Deletion Operation
Deletion is also a more than one step process. We shall
learnwith pictorial representation. First, locate the target node to
be removed, by using searching algorithms.

Algorithm
1. START
2. Assign the head pointer to the next node in the list
3. END

#include <stdio.h> #include <string.h> #include <stdlib.h> struct node


{ int data;
struct node *next;
};
struct node *head = NULL; struct node *current = NULL;

// display the list void printList()


{ struct node *p = head; printf("\
n[");

//start from the beginning


while(p != NULL)
{ printf(" %d ",p->data);
p = p->next;
}
printf("]");
}

//insertion at the beginning void insertatbegin(int data){

//create a link
struct node *lk = (struct node*) malloc(sizeof(struct
node)); lk->data = data;

// point it to old first node


lk->next = head;
Algorithm
1. START
2. Assign the head pointer to the next node in the list 3. END
//point first to new first
node head = lk;
}
void deleteatbegin(){
head = head->next;
}
int main(){
int k=0;
insertatbegin(12);
insertatbegin(22);
insertatbegin(30);
insertatbegin(40);
insertatbegin(55);
printf("Linked List:
");

// print list
printList();
deleteatbegin();
printf("\nLinked List after deletion: ");

// print list
printList();
}

Output
Linked List:
[ 55 40 30 22 12 ]
Linked List after deletion:
[ 40 30 22 12 ]
Reverse Operation
This operation is a thorough one. We need to make the last node to be
pointed by the head node and reverse the wholelinked list.

Algorithm
Step by step process to reverse a linked list is as follows −
1 START
2. We use three pointers to perform the reversing: prev,
next, head.
3. Point the current node to head and assign its next value to
the prev node.
4. Iteratively repeat the step 3 for all the nodes in the list.
5. Assign head to the prev node.
Example
Following are the implementations of this operation in variousprogramming languages

#include <stdio.h> #include <string.h> #include <stdlib.h> struct node

{ int data;

struct node *next;

};

struct node *head = NULL; struct node *current = NULL;

// display the list void printList()

{ struct node *p = head; printf("\

n[");

//start from the beginning

while(p != NULL) {

printf(" %d ",p-

>data); p = p->next;

printf("]");

//insertion at the beginning void insertatbegin(int data){


struct node *lk = (struct node*) malloc(sizeof(struct

node)); lk->data = data;

// point it to old first

node lk->next = head;

//point first to new first node

head = lk;

int searchlist(int key)

{ struct node *temp =

head; while(temp !=

NULL) {

if (temp->data == key)

{ return 1;

temp=temp->next;

return 0;

void main(){

int k=0;

insertatbegin(12);
insertatbegin(22);
insertatbegin(30);

insertatbegin(40);

insertatbegin(55);

printf("Linked List:

");

// print list

printList();

k=

searchlist(30); if

(k == 1)

printf("\nElement is found");

else

printf("\nElement is not present in the list");

Output:
Linked List:
[ 55 40 30 22 12 ]
Element is found
Application of link list

 Representing polynomials: Linked lists can be used


tostore and manipulate polynomials. Each node in the
list represents a term in the polynomial, with the data
part storing the coefficient and the exponent of the term.

 Polynomial manipulation: Using a linked list, we


canperform various operations on polynomials, such
as adding, subtracting, multiplying, and dividing them.

 Arithmetic operations on long integers: Linked


lists can also be used to perform arithmetic operations
on longintegers. The digits of the integer can be stored
in each node of the list, with the head representing the
least significant digit.

 Implementing stacks and queues: Linked lists are


commonly used to implement stacks and queues. Each
node in the list represents an element in the stack or
queue, with the head and tail pointers pointing to the
topor bottom of the stack or queue, respectively.

 Implementing graphs: One of the important


applications of Linked lists is implementing graphs, with
the adjacent vertices stored in the nodes of the linked
list. This representation is known as the adjacency list
representation and is commonly used in graph
algorithms such as breadth-first search and depth-first
search.
Conclusion

It is important to understand the advantages and


drawbacks when you're deciding whether or not to
use a linked list. One thing we didn't include was the
implementation of a linked list.The implementation
isn't overly difficult, and it's a good way totest your
understanding of linked lists.
Linked lists don't need to be resized with one giant
block of memory; they can grow with pointers to
other parts of the computer's memory. You don't
have to find continuous free space.
It's easier to insert into the middle of a linked list,
because with an array you'd need to move every
element after the insertion point over by one. It's easier
with linked lists, as you'll see in thechallenges.
File systems! Files are often stored in chunks, but
when files grow large they may not fit in their original
chunk. You can thinkof a file as a series of nodes with
chunks of data and links to the next section of the file.
References

 https://www.geeksforgeeks.org/data-
structures/linked-list/
 https://www.rose-
hulman.edu/class/cs/csse220/200820/web/Slides/
220-Day22_200820.pdf
 https://www.simplilearn.com/tutorials/data-
structure-tutorial/linked-list-in-data-structure
 https://www.theodinproject.com/lessons/javascrip
t-linked-lists
 https://github.com/topics/linkedlist?l=c%2B%2B

You might also like