IQAC SUBJECT PRESENTATION (CS8391 – DATA STRUCTURES) PRESENTED BY, Mrs. S. JERINA BEGUM, AP DEPARTMENT OF INFORMATION TECHNOLOGY AGNI COLLEGE OF TECHNOLOGY,CHENNAI
OVERVIEW OF THE SUBJECT -Data Structure is a way to store and organize data so that it can be used efficiently. -Some examples of Data Structures are arrays, Linked List, Stack, Queue, etc. -Data Structures are widely used in almost every aspect of Computer Science i.e. Operating System, Compiler Design, Artificial Intelligence, Graphics and many more. -Data structures are the building blocks of any program or the software. Choosing the appropriate data structure for a program is the most difficult task for a programmer.
Need of Data Structures : As applications are getting complexed and amount of data is increasing day by day, there may arise the following problems: Processor speed: To handle very large amount of data, high speed processing is required, but as the data is growing day by day to the billions of files per entity, processor may fail to deal with that much amount of data. Data Search: Consider an inventory size of 106 items in a store, If our application needs to search for a particular item, it needs to traverse 106 items every time, results in slowing down the search process. Multiple requests: If thousands of users are searching the data simultaneously on a web server, then there are the chances that a very large server can be failed during that process. In order to solve the above problems, data structures are used. Data is organized to form a data structure in such a way that all items are not required to be searched and required data can be searched instantly. OVERVIEW OF THE SUBJECT
Advantages of Data Structures: Efficiency: Efficiency of a program depends upon the choice of data structures. For example: suppose, we have some data and we need to perform the search for a particular record. In that case, if we organize our data in an array, we will have to search sequentially element by element. hence, using array may not be very efficient here. There are better data structures which can make the search process efficient like ordered array, binary search tree or hash tables. Reusability: Data structures are reusable, i.e. once we have implemented a particular data structure, we can use it at any other place. Implementation of data structures can be compiled into libraries which can be used by different clients. Abstraction: Data structure is specified by the ADT which provides a level of abstraction. The client program uses the data structure through interface only, without getting into the implementation details. OVERVIEW OF THE SUBJECT
HOUR PLAN ALLOTTED TO TOPICS UNIT - 1 TopicSub TopicDuration Linear Data Structures - List 1.1. Introduction - Data structures Abstract Data Type (ADT) - List ADT List ADT - Array-based implementation Singly linked lists Circularly linked lists Doubly-linked lists Applications of lists - Polynomial Manipulation - All operations (Insertion, Deletion, Merge, Traversal) 90 Total periods10
HOUR PLAN ALLOTTED TO TOPICS UNIT - II TopicSub TopicDuration Linear Data Structures – Stacks, Queues 2.1. Stack ADT – Array Based Implementation Stack ADT – Linked List Implementation Applications of Stack Evaluating arithmetic expressions- Conversion of Infix to postfix expression - Balancing the symbols Queue ADT – Operations Circular Queue Priority Queue deQueue Applications of Queue45 Total periods11
HOUR PLAN ALLOTTED TO TOPICS UNIT - III TopicSub TopicDuration Non Linear Data Structures – Trees 3.1. Tree ADT - Tree Traversals Binary Tree ADT Expression trees Applications of trees - Binary Search Tree ADT Threaded Binary Trees AVL Trees B-Tree B+ Trees Heap – Applications of heap45 Total periods12
HOUR PLAN ALLOTTED TO TOPICS UNIT - IV TopicSub TopicDuration Non - Linear Data Structures – Graphs 4.1. Definition – Representation of Graph Types of graph Breadth-First Traversal Depth-first traversal Topological Sort Bi-connectivity – Cut vertex Euler circuits Applications of graphs45 Total periods9
HOUR PLAN ALLOTTED TO TOPICS UNIT - V TopicSub TopicDuration Searching, Sorting and Hashing Techniques 5.1. Searching- Linear Search - Binary Search Sorting - Bubble sort Selection sort Insertion sort Shell sort Radix sort Hashing- Hash Functions Separate Chaining – Open Addressing Rehashing – Extendible Hashing45 Total periods10
HOW MUCH TO FOCUS ON A UNIT? UNIT DISCUSSEDQUESTIONS ASKED MARKS THAT CAN BE OBTAINED UNIT - I 1. PART A - 2 Questions (2 * 2 = 4) 2. PART B - 2 Questions (2 * 13 = 26) 30 UNIT - II 1. PART A - 2 Questions (2 * 2 = 4) 2. PART B - 2 Questions (2 * 13 = 26) 30 UNIT - III 1. PART A - 2 Questions (2 * 2 = 4) 2. PART B - 2 Questions (2 * 13 = 26) 30 UNIT - IV 1. PART A - 2 Questions (2 * 2 = 4) 2. PART B - 2 Questions (2 * 13 = 26) 30 UNIT - V 1. PART A - 2 Questions (2 * 2 = 4) 2. PART B - 2 Questions (2 * 13 = 26) 30 PART C - 2 Questions can be asked from any two units
WHICH UNIT HAS INDUSTRY RELEVANCE? UNIT - I [ INDUSTRY APPLICATIONS] LINKED LIST Image viewer – Previous and next images are linked, hence can be accessed by next and previous button. Previous and next page in web browser – We can access previous and next url searched in web browser by pressing back and next button since, they are linked as linked list. Music Player – Songs in music player are linked to previous and next song. We can play songs either from starting or ending of the list.
WHICH UNIT HAS INDUSTRY RELEVANCE? UNIT - II [ INDUSTRY APPLICATIONS] STACKS When a processor receives an interrupt, it completes its execution of the current instruction, then pushes the process’s PCB to the stack and then perform the ISR (Interrupt Service Routine) When a process calls a function inside a function - like recursion, it pushes the current data like local variables onto the stack to be retrieved once the control is returned Used in IDEs to check for proper parenthesis matching Word processor undo and redo actions are based on stack only QUEUES Queues are used in case of printers or uploading images. Where the first one to be entered is the first to be processed. Used in IO Buffers, pipes, file IO. When a resource is shared among multiple consumers. Examples include CPU scheduling, Disk Scheduling.
WHICH UNIT HAS INDUSTRY RELEVANCE? UNIT - III [ INDUSTRY APPLICATIONS] TREES Binary Search Tree - Used in many search applications where data is constantly entering/leaving, such as the map and set objects in many languages' libraries. Heaps - Used in implementing efficient priority-queues, which in turn are used for scheduling processes in many operating systems, Quality-of- Service in routers, and A* (path-finding algorithm used in AI applications, including robotics and video games). Also used in heap-sort. Binary trees are used in Huffman coding, which are used as a compression code. B-Tree and B+ Tree are used in Databases and File Systems
WHICH UNIT HAS INDUSTRY RELEVANCE? UNIT - IV [ INDUSTRY APPLICATIONS] GRAPHS Google maps uses graphs for building transportation systems, where intersection of two(or more) roads are considered to be a vertex and the road connecting two vertices is considered to be an edge, thus their navigation system is based on the algorithm to calculate the shortest path between two vertices. In Facebook, users are considered to be the vertices and if they are friends then there is an edge running between them. Facebook’s Friend suggestion algorithm uses graph theory. In Operating System, we come across the Resource Allocation Graph where each process and resources are considered to be vertices. Edges are drawn from resources to the allocated process, or from requesting process to the requested resource. If this leads to any formation of a cycle then a deadlock will occur. Recommendations on e-commerce websites: The “Recommendations for you” section on various e-commerce websites uses graph theory to recommend items of similar type to user’s choice. Graph theory is also used to study molecules in chemistry and physics.
UNIT - V [ INDUSTRY APPLICATIONS] SEARCHING, SORTING AND HASHING TECHNIQUES Searching Techniques are implemented in Search Engines like Google. During the extraction of gold from ore, a device called a shaker table uses gravity, vibration, and flow to separate gold from lighter materials in the ore (sorting by size and weight). Cryptographic hash functions are very commonly used in password verification. One of the most famous applications of hashing is the Rabin-Karp algorithm. This is basically a string-searching algorithm which uses hashing to find any one set of patterns in a string. A practical application of this algorithm is detecting plagiarism. Hashing Techniques are used in Digital Signature. WHICH UNIT HAS INDUSTRY RELEVANCE?
CURRENT TRENDS IN THE COURSE Data Science Machine Learning Artificial Intelligence NoSQL Databases
WHAT ARE REPEATED? UNIT - I List Implementation using arrays Singly Linked List Implementation DLL Implementation Circularly Linked List Implementation Application of List - Polynomial Manipulation UNIT - II Implementation of stack using arrays and Linked List Implementation of Queue using arrays and Linked List Evaluating Arithmetic Expressions - Conversion of infix to postfix expression using stack - Balancing the symbols Circular Queue & Deque Implementation Implementation of Priority Queue
WHAT ARE REPEATED? UNIT - III Binary Tree – Tree Traversal Implementation of Binary Search Tree Implementation of AVL Tree and Heaps Explain Threaded Binary Trees and Expression Trees Various operation carried on B-Tree and B+ Tree UNIT - IV Representation of Graph and Application of Graph Graph Traversal - DFS and BFS Topological Sort Bi connectivity and cut vertex Euler circuits
WHAT ARE REPEATED? UNIT - V Searching Techniques – Linear and Bin Sorting Techniques - Bubble sort - Selection sort - Insertion sort Sorting Techniques – Shell sort – Radix sort Separate Chaining and Open Addressing Rehashing and Extendible Hashing
Which part of the unit may be twisted for ? UNIT-I: - Programs may be asked based on Linked list UNIT-II: - Programs or Application based on Stacks and Queue UNIT-III: - Problems based on B-Tree, AVL Tree, B+ Tree Implementation UNIT-IV: -Problems based on Shortest Distance Algorithms and Minimum spanning Trees - Problems based on Bi-connectivity, cut vertex and Euler circuit UNIT-V: -Problems based on Hashing Techniques - Problems based on Sorting Techniques
Which paper has track record of high performance & vice versa previous results? CS8391 Data Structures (Nov Dec – 2018)Result Percentage - 75%
How to consummate a unit to 30 sec outcome of each unit? Implement Abstract Data Types for Linear Data Structures. Apply the different linear and non-linear data structures to problem solutions. Critically analyze the various sorting algorithms. Analyze Searching and Hashing Techniques.
External Links and Reference Gathering data-structureshttps:// data-structures 9. (Tamil videos)
Data Structures Using C, 2nd Edition by Reema Thareja. Algorithms_4 4th Edition, by Robert Sedgewick. Thomas H. Cormen, Charles E. Leiserson, Ronald L.Rivest, Clifford Stein, ―Introduction to Algorithms", Second Edition, Mcgraw Hill, Aho, Hopcroft and Ullman, ―Data Structures and Algorithms, Pearson Education,1983. Stephen G. Kochan, ―Programming in C, 3rd edition, Pearson Education. Ellis Horowitz, Sartaj Sahni, Susan Anderson-Freed, ―Fundamentals of Data Structures in C, Second Edition, University Press, External Links and Reference Gathering
How important is teachers performance? -Teacher’s Performance can be reflected on Students’ Learning ability and in their attitude. -If a student understands that a teacher cares for him / her – sure we can see a vast positive changes in his / her learning capability and deeds. - Teacher needs to update to current technologies then and there – so a student have a high opinion on their tutor. - Other than teaching – counselling of students is important to touch their hearts so that whatever a teacher says - gets into their mind. - Teaching methodology should be different, attractive and often needs to be changed to attract the students.