Data_Structures_Algorithms_Tutorial.pdf - …

 Data Structures & Algorithms

About the Tutorial

Data Structures are the programmatic way of storing data so that data can be used efficiently. Almost every enterprise application uses various types of data structures in one or the other way. This tutorial will give you a great understanding on Data Structures needed to understand the complexity of enterprise level applications and need of algorithms, and data structures.

Audience

This tutorial is designed for Computer Science graduates as well as Software Professionals who are willing to learn data structures and algorithm programming in simple and easy steps. After completing this tutorial you will be at intermediate level of expertise from where you can take yourself to higher level of expertise.

Prerequisites

Before proceeding with this tutorial, you should have a basic understanding of C programming language, text editor, and execution of programs, etc.

Copyright and Disclaimer

? Copyright 2016 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at contact@

i

Data Structures & Algorithms

Compile & Execute Online

For most of the examples given in this tutorial you will find Try it option, so just make use of this option to execute your programs on the spot and enjoy your learning. Try the following example using the Try it option available at the top right corner of the following sample code box -

#include int main(){

/* My first program in C */ printf("Hello, World! \n"); return 0; }

ii

Data Structures & Algorithms

Table of Contents

About the Tutorial ............................................................................................................................................ i Audience........................................................................................................................................................... i Prerequisites..................................................................................................................................................... i Copyright and Disclaimer .............................................................................................................................i Compile & Execute Online ............................................................................................................................... ii Table of Contents ........................................................................................................................................... iii

BASICS......................................................................................................................................... 1

1. Overview .................................................................................................................................................2 Characteristics of a Data Structure.................................................................................................................. 2 Need for Data Structure .................................................................................................................................. 2 Execution Time Cases ...................................................................................................................................... 3 Basic Terminology ........................................................................................................................................... 3

2. Environment Setup ..................................................................................................................................4 Try it Option Online ......................................................................................................................................... 4 Local Environment Setup................................................................................................................................. 4 Installation on UNIX/Linux............................................................................................................................... 5 Installation on Mac OS..................................................................................................................................... 5 Installation on Windows.................................................................................................................................. 6

ALGORITHM ................................................................................................................................ 7

3. Algorithms Basics ...................................................................................................................................8 Characteristics of an Algorithm ....................................................................................................................... 8 How to Write an Algorithm? ........................................................................................................................... 9 Algorithm Analysis......................................................................................................................................... 10 Algorithm Complexity.................................................................................................................................... 11 Space Complexity .......................................................................................................................................... 11 Time Complexity ............................................................................................................................................ 11

4. Asymptotic Analysis...............................................................................................................................12 Asymptotic Notations .................................................................................................................................... 12 Common Asymptotic Notations .................................................................................................................... 15

5. Greedy Algorithms .................................................................................................................................16 Counting Coins............................................................................................................................................... 16

6. Divide & Conquer....................................................................................................................................18 Divide/Break .................................................................................................................................................. 18 Conquer/Solve ............................................................................................................................................... 18 Merge/Combine ............................................................................................................................................ 19

7. Dynamic Programming............................................................................................................................20

iii

Data Structures & Algorithms

DATA STRUCTURES ...................................................................................................................21

8. Basic Concepts .......................................................................................................................................22 Data Definition .............................................................................................................................................. 22 Data Object.................................................................................................................................................... 22 Data Type....................................................................................................................................................... 22 Basic Operations............................................................................................................................................ 23

9. Arrays ....................................................................................................................................................24 Array Representation .................................................................................................................................... 24 Basic Operations............................................................................................................................................ 25 Insertion Operation ....................................................................................................................................... 25 Array Insertions ............................................................................................................................................. 27 Insertion at the Beginning of an Array .......................................................................................................... 28 Insertion at the Given Index of an Array ....................................................................................................... 30 Insertion After the Given Index of an Array .................................................................................................. 32 Insertion Before the Given Index of an Array................................................................................................ 34 Deletion Operation ........................................................................................................................................ 36 Search Operation........................................................................................................................................... 37 Update Operation.......................................................................................................................................... 39

LINKED LIST...............................................................................................................................41

10. Linked List Basics..................................................................................................................................42 Linked List Representation ............................................................................................................................ 42 Types of Linked List ....................................................................................................................................... 42 Basic Operations............................................................................................................................................ 43 Insertion Operation ....................................................................................................................................... 43 Deletion Operation ........................................................................................................................................ 44 Reverse Operation......................................................................................................................................... 45 Linked List Program in C ................................................................................................................................ 46

11. Doubly Linked List...................................................................................................................................55 Doubly Linked List Representation ................................................................................................................ 55 Basic Operations............................................................................................................................................ 55 Insertion Operation ....................................................................................................................................... 56 Deletion Operation ........................................................................................................................................ 57 Insertion at the End of an Operation............................................................................................................. 57 Doubly Linked List Program in C .................................................................................................................... 58

12. Circular Linked List ..................................................................................................................................67 Singly Linked List as Circular .......................................................................................................................... 67 Doubly Linked List as Circular ........................................................................................................................ 67 Basic Operations............................................................................................................................................ 67 Insertion Operation ....................................................................................................................................... 68 Deletion Operation ........................................................................................................................................ 68 Display List Operation.................................................................................................................................... 69 Circular Linked List Program in C ................................................................................................................... 69

iv

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download