Full Transcript

DATA STRUCTURES Introduction Prof. Khalil Al-Shqeerat CS Dept. – Qassim University Basic concepts Classification of data structures OUTLINE Linear and non-linear data structures Operations on data structure How to choose a data structure? INTRODU...

DATA STRUCTURES Introduction Prof. Khalil Al-Shqeerat CS Dept. – Qassim University Basic concepts Classification of data structures OUTLINE Linear and non-linear data structures Operations on data structure How to choose a data structure? INTRODUCTION What is data? Quantities, characters or symbols on which operations are performed by a computer Stored on external memory May be and transmitted in the form of electrical signals. Example: C = A + B (A & B is data) When data becomes information? If data is arranged in a systematic way then it gets a structure and become meaningful. MEANINGFUL OR PROCESSED DATA IS CALLED INFORMATION. DATA Values or set of values. A data item refers to a single unit of values. Data items that are divided into sub items are group items; those that are not are called elementary items. For example, an employee’s name may be divided into three sub items – first name, middle name and last name An entity has specific attributes or properties that may be assigned values. The values may be either numeric or non-numeric. EXAMPLE WHAT IS A DATA STRUCTURE? A data structure is the systematic way to organize data so that it can be used efficiently. It is a group of data elements stored together under one name Example: arrays Instead of creating multiple variables of same type. Storing strings is equivalent of storing a sequence of characters. It is also referred as “Abstract Data Type (ADT)” ADT is a type (or class) for objects whose behavior is defined by a set of values and a set of operations The challenge is to select the most appropriate data structure for the problem CLASSIFICATION OF DATA STRUCTURES The data structure can be classified into two categories primitive data structure Storing the value of only one data type Non-primitive data structure. Storing the value of more than one data type PHYSICAL DATA STRUCTURES Actual implementations of data structures in memory. Array, Linked list Array Linked list LOGICAL DATA STRUCTURES Logical implementation of data over physical memory. Stack, Queue, Tree Tree Queue Stack STATIC VS. DYNAMIC DATA STRUCTURES Static data structure Collection of data in memory which have a fixed size It can store a limited amount of elements or data in memory. Array is an example of static data structure. Dynamic Data Structure Collection of data in memory which do not have a fixed size Its size can be modified during the operations performed on it It can store a variable amount of elements or data in memory. Linked List is an example of dynamic data structure. LINEAR DATA STRUCTURES Data elements are arranged sequentially or linearly Every element is attached to its previous and next adjacent Single level is involved. It can traverse all the elements in single run only. Easy to implement because computer memory is arranged in a linear way. Array, Stack, Queue, Linked list are examples of Linear data structures. NON-LINEAR DATA STRUCTURES Data elements are not arranged sequentially or linearly. Hierarchical multiple levels are involved. It can’t traverse all the elements in single run only. Its implementation is complex. It utilizes computer memory efficiently in comparison to a linear data structure. Its examples are trees and graphs SUMMARY DATA STRUCTURE OPERATIONS Different types of operations can be performed for the manipulation of data in every data structure. Traversal: accessing each record/node exactly once so that certain items in the record may be processed. Search: Finding the location of the desired node with a given key value, or to satisfy one or more conditions. Insertion: Adding a new node/record to the structure. Deletion: Removing a node/record from the structure. Sort: arranging all data items in a particular order. Merge: combining the data items of two different sorted list into a single sorted list. HOW TO CHOOSE A DATA STRUCTURE? The choice of a appropriate data structure depends on the following factors: Based on the operations that will be performed A linked list used to perform insertions and deletions. An array is used to perform indexing. Based on the time complexity of the operations For example, to perform searches frequently, a binary search tree is used. Based on the space complexity of the operations For example, to store a lot of data, you should use an array. based on the amount of memory used For example, to store a lot of data in memory, you should use a linked list

Use Quizgecko on...
Browser
Browser