 Hello everyone, I am Mrs. Meenakshi Sreegandhi from Walsh and Institute of Technology, Sholapur. Welcome to the video lecture on basics of data structures. Learning outcome. At the end of this session, students will be able to explain the fundamentals of data structures and types of data structures. What is data structures? A data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently. Structure means particular way of data organization. So, data structure is the organization of data in computer memory or the way in which data is efficiently stored, processed and retrieved is called as data structure. Data structure simply means a structure that can be used to store a given collection of data in computer memory. What is the need of data structures? Pause the video for some time and write down the answers in your book. A data structure helps us to understand the relationship of one element with the other and organize it within the memory. It is the mathematical or logical model of a particular organization of data. It includes logical description of the data structure, implementation of the data structure and quantitative analysis of the data structure, which includes determining the amount of needed to store the data and the time required for processing it. Data structure is the representation of the logical relationship between the data elements. In other words, a data structure is the way of organizing all the data items that considers not only the elements stored but also the relationship to each other. Let's see the classification of data structure. Data structure is classified as simple data structure and primitive data structure. Simple data structure can be constructed with the help of primitive data structure. A primitive data structure represents the standard data types of any computer language. Variables, pointers, structures and unions are the examples of primitive data structures. Whereas compound data structure can be constructed with the help of any one of the primitive data structure and it is having a specific functionality. It can be designed by the user. It can be classified as linear data structure and non-linear data structure. A linear data structure can be constructed as a continuous arrangement of data elements in the memory. In the linear data structure, the relationship of adjacency is maintained between the data elements. It can be classified as arrays, stacks, queues and linked list. A non-linear data structure can be constructed as a collection of randomly distributed set of data items joined together by using a special pointer. In non-linear data structure, the relationship of adjacency is not maintained between the data items. It can be classified as trees and graph. Now let's see the types of linear data structure. First is the arrays. The simplest type of data structure is the linear array and most often it is the only data structure that is provided in any programming language. An array can be defined as a collection of homogeneous elements in the form of index pairs stored in consecutive memory locations. An array always has a predefined size and the elements of an array are referenced by means of a subscript. Thus an array is a collection of variables of the same data type that share a common name. The general form of a one-dimensional array is as shown in the figure. Now comes the stack. It is an ordered list of elements. In this, items are inserted and removed at only one end called the top. There are only two operations that are possible on a stack. They are the push and the pop operations. A push operation inserts a value into the stack and the pop operation removes the value from the stack. Stack follows LIFO structure that is last in first out structure. Means the last item to be added is the first item to be removed. Next is the queue. It is an ordered list of elements. Incision of an item takes place at one end called the rare and all deletions takes place at the other end called the front. A real-time example for a queue is people standing in a queue for billing on a shop. The first person in the queue will be the first person to get the service. Similarly, the first element inserted in the queue will be the first one that will be retried. And hence the queue is called as first in first out list. Next is the linked list. In real-time system, most often the number of elements will not be known in advance. The major drawback of an array is that the number of elements must be known in advance. Hence, an alternative approach was required. This gives rise to the concept called linked list. A linear list is a linear collection of data elements called nodes. Every node has two parts. First part contains the data part. And the second part contains the address of the next node. Memory is allocated for every node when it is actually required and will be freed when not needed. So a general representation of a linked list is shown here. Next is the tree. A tree is a non-linear data structure. This structure is mainly used to represent data containing a hierarchical relationship between elements like family tree, organization chart, etc. Here is an example showing a tree. It is a finite set of one or more nodes such that there is a specially designated node called the root. Which is the parent of all the nodes. The nodes originating from the same parent node are called as siblings. In a valid tree, any node can be considered to be a root of the tree formed by considering only the descendants of that node. This second tree is called as subtree, which itself is a tree. The nodes in the tree which do not have children are called as leaf nodes. So a general representation of a tree is shown here. The last is the graphs. Graph is a general tree with no parent-child relationship. Graphs represents a relatively less restrictive relationship between the data items. A graph may be defined as a finite set of vertices and a set of edges which is represented by g equal to v,e. It can be of two types, undirected graph. If the pair of vertices that connect the edges are not ordered, that is the direction is not mentioned, then the graph is called as undirected graph. Directed graph, if the pairs of vertices that connect the edges are ordered, that is the direction is mentioned, the graph is called as directed graph. These are my references. Thank you.