SlideShare a Scribd company logo
Data structures algorithms_tutorial
Data Structures & Algorithms
AbouttheTutorial
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.
CopyrightandDisclaimer
© 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@tutorialspoint.com
i
Data Structures & Algorithms
Compile&ExecuteOnline
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 <stdio.h>
int main(){
/* My first program in C */
printf("Hello, World! n");
return 0;
}
ii
Data Structures & Algorithms
TableofContents
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
Data Structures & Algorithms
STACK & QUEUE........................................................................................................................74
13. Stack......................................................................................................................................................75
Stack Representation.....................................................................................................................................75
Basic Operations............................................................................................................................................76
peek().............................................................................................................................................................76
isfull().............................................................................................................................................................77
isempty()........................................................................................................................................................77
Push Operation..............................................................................................................................................78
Pop Operation ...............................................................................................................................................79
Stack Program in C.........................................................................................................................................81
14. Expression Parsing ..................................................................................................................................84
Infix Notation.................................................................................................................................................84
Prefix Notation ..............................................................................................................................................84
Postfix Notation.............................................................................................................................................84
Parsing Expressions .......................................................................................................................................85
Postfix Evaluation Algorithm .........................................................................................................................86
Expression Parsing Using Stack......................................................................................................................86
15. Queue.....................................................................................................................................................92
Queue Representation ..................................................................................................................................92
Basic Operations............................................................................................................................................92
peek().............................................................................................................................................................93
isfull().............................................................................................................................................................93
isempty()........................................................................................................................................................94
Enqueue Operation .......................................................................................................................................95
Dequeue Operation.......................................................................................................................................96
Queue Program in C ......................................................................................................................................98
SEARCHING TECHNIQUES........................................................................................................102
16. Linear Search .......................................................................................................................................103
Linear Search Program in C .........................................................................................................................104
17. Binary Search........................................................................................................................................107
How Binary Search Works? .........................................................................................................................107
Binary Search Program in C .........................................................................................................................110
18. Interpolation Search .............................................................................................................................113
Positioning in Binary Search ........................................................................................................................113
Position Probing in Interpolation Search.....................................................................................................114
Interpolation Search Program in C ..............................................................................................................116
19. Hash Table ............................................................................................................................................118
Hashing........................................................................................................................................................118
Linear Probing..............................................................................................................................................119
Basic Operations..........................................................................................................................................120
Data Item.....................................................................................................................................................120
v
Data Structures & Algorithms
Hash Method...............................................................................................................................................120
Search Operation.........................................................................................................................................120
Insert Operation ..........................................................................................................................................121
Delete Operation.........................................................................................................................................122
Hash Table Program in C .............................................................................................................................123
SORTING TECHNIQUES............................................................................................................128
20. Sorting Algorithm..................................................................................................................................129
In-place Sorting and Not-in-place Sorting ...................................................................................................129
Stable and Not Stable Sorting......................................................................................................................129
Adaptive and Non-Adaptive Sorting Algorithm...........................................................................................130
Important Terms..........................................................................................................................................130
21. Bubble Sort Algorithm ..........................................................................................................................132
How Bubble Sort Works?.............................................................................................................................132
Bubble Sort Program in C ............................................................................................................................136
22. Insertion Sort........................................................................................................................................140
How Insertion Sort Works? .........................................................................................................................140
Insertion Sort Program in C .........................................................................................................................143
23. Selection Sort........................................................................................................................................147
How Selection Sort Works? .........................................................................................................................147
Selection Sort Program in C.........................................................................................................................150
24. Merge Sort Algorithm ...........................................................................................................................153
How Merge Sort Works? .............................................................................................................................153
Merge Sort Program in C .............................................................................................................................156
25. Shell Sort ..............................................................................................................................................158
How Shell Sort Works? ................................................................................................................................158
Shell Sort Program in C................................................................................................................................162
26. Quick Sort .............................................................................................................................................166
Partition in Quick Sort .................................................................................................................................166
Quick Sort Pivot Algorithm ..........................................................................................................................166
Quick Sort Pivot Pseudocode ......................................................................................................................167
Quick Sort Algorithm ...................................................................................................................................167
Quick Sort Pseudocode................................................................................................................................168
Quick Sort Program in C ..............................................................................................................................168
GRAPH DATA STRUCTURE.......................................................................................................172
27. Graphs ..................................................................................................................................................173
Graph Data Structure ..................................................................................................................................173
Basic Operations..........................................................................................................................................175
vi
Data Structures & Algorithms
28. Depth First Traversal............................................................................................................................176
Depth First Traversal in C ............................................................................................................................179
29. Breadth First Traversal.........................................................................................................................184
Breadth First Traversal in C .........................................................................................................................186
TREE DATA STRUCTURE ..........................................................................................................192
30. Tree ......................................................................................................................................................193
Important Terms..........................................................................................................................................193
Binary Search Tree Representation.............................................................................................................194
Tree Node....................................................................................................................................................194
BST Basic Operations...................................................................................................................................195
Insert Operation ..........................................................................................................................................195
Search Operation.........................................................................................................................................197
Tree Traversal in C.......................................................................................................................................198
31. Tree Traversal .......................................................................................................................................204
In-order Traversal........................................................................................................................................204
Pre-order Traversal......................................................................................................................................205
Post-order Traversal....................................................................................................................................206
Tree Traversal in C.......................................................................................................................................207
32. Binary Search Tree................................................................................................................................213
Representation............................................................................................................................................213
Basic Operations..........................................................................................................................................214
Node............................................................................................................................................................214
Search Operation.........................................................................................................................................214
Insert Operation ..........................................................................................................................................215
33. AVL Trees.............................................................................................................................................217
AVL Rotations ..............................................................................................................................................218
34. Spanning Tree.......................................................................................................................................222
General Properties of Spanning Tree ..........................................................................................................222
Mathematical Properties of Spanning Tree.................................................................................................223
Application of Spanning Tree ......................................................................................................................223
Minimum Spanning Tree (MST)...................................................................................................................223
Minimum Spanning-Tree Algorithm............................................................................................................223
Kruskal's Spanning Tree Algorithm..............................................................................................................224
Prim's Spanning Tree Algorithm..................................................................................................................227
35. Heaps....................................................................................................................................................231
Max Heap Construction Algorithm..............................................................................................................232
Max Heap Deletion Algorithm.....................................................................................................................233
RECURSION.............................................................................................................................234
vii
Data Structures & Algorithms
36. Recursion ─ Basics.................................................................................................................................235
Properties ....................................................................................................................................................235
Implementation...........................................................................................................................................236
Analysis of Recursion...................................................................................................................................236
Time Complexity..........................................................................................................................................236
Space Complexity ........................................................................................................................................237
37. Tower of Hanoi .....................................................................................................................................238
Rules ............................................................................................................................................................238
Algorithm.....................................................................................................................................................242
Tower of Hanoi in C .....................................................................................................................................245
38. Fibonacci Series ....................................................................................................................................249
Fibonacci Iterative Algorithm ......................................................................................................................250
Fibonacci Interactive Program in C..............................................................................................................250
Fibonacci Recursive Algorithm ....................................................................................................................252
Fibonacci Recursive Program in C................................................................................................................252
viii
Data Structures & Algorithms
Basics
1
1. Overview
Data Structure is a systematic way to organize data in order to use it efficiently. Following
terms are the foundation terms of a data structure.
 Interface − Each data structure has an interface. Interface represents the set of
operations that a data structure supports. An interface only provides the list of
supported operations, type of parameters they can accept and return type of these
operations.
 Implementation − Implementation provides the internal representation of a
data structure. Implementation also provides the definition of the algorithms used
in the operations of the data structure.
CharacteristicsofaDataStructure
 Correctness − Data structure implementation should implement its interface
correctly.
 Time Complexity − Running time or the execution time of operations of data
structure must be as small as possible.
 Space Complexity − Memory usage of a data structure operation should be as
little as possible.
NeedforDataStructure
As applications are getting complex and data rich, there are three common problems that
applications face now-a-days.
 Data Search − Consider an inventory of 1 million(106) items of a store. If the
application is to search an item, it has to search an item in 1 million(106) items
every time slowing down the search. As data grows, search will become slower.
 Processor Speed − Processor speed although being very high, falls limited if the
data grows to billion records.
 Multiple Requests − As thousands of users can search data simultaneously on a
web server, even the fast server fails while searching the data.
To solve the above-mentioned problems, data structures come to rescue. Data can be
organized in a data structure in such a way that all items may not be required to be
searched, and the required data can be searched almost instantly.
2
Data Structures & Algorithms
ExecutionTimeCases
There are three cases which are usually used to compare various data structure's execution
time in a relative manner.
 Worst Case − This is the scenario where a particular data structure operation
takes maximum time it can take. If an operation's worst case time is ƒ(n) then
this operation will not take more than ƒ(n) time, where ƒ(n) represents function
of n.
 Average Case − This is the scenario depicting the average execution time of an
operation of a data structure. If an operation takes ƒ(n) time in execution, then
m operations will take mƒ(n) time.
 Best Case − This is the scenario depicting the least possible execution time of an
operation of a data structure. If an operation takes ƒ(n) time in execution, then
the actual operation may take time as the random number which would be
maximum as ƒ(n).
BasicTerminology
 Data − Data are values or set of values.
 Data Item − Data item refers to single unit of values.
 Group Items − Data items that are divided into sub items are called as Group
Items.
 Elementary Items − Data items that cannot be divided are called as Elementary
Items.
 Attribute and Entity − An entity is that which contains certain attributes or
properties, which may be assigned values.
 Entity Set − Entities of similar attributes form an entity set.
 Field − Field is a single elementary unit of information representing an attribute
of an entity.
 Record − Record is a collection of field values of a given entity.
 File − File is a collection of records of the entities in a given entity set.
3
2. Environment Setup
TryitOptionOnline
You really do not need to set up your own environment to start learning C programming
language. Reason is very simple, we already have set up C Programming environment
online, so that you can compile and execute all the available examples online at the same
time when you are doing your theory work. This gives you confidence in what you are
reading and to check the result with different options. Feel free to modify any example
and execute it online.
Try the following example using the Try it option available at the top right corner of the
sample code box −
#include <stdio.h>
int main(){
/* My first program in C */
printf("Hello, World! n");
return 0;
}
For most of the examples given in this tutorial, you will find Try it option, so just make
use of it and enjoy your learning.
LocalEnvironmentSetup
If you are still willing to set up your environment for C programming language, you
need the following two tools available on your computer, (a) Text Editor and (b) The C
Compiler.
Text Editor
This will be used to type your program. Examples of few editors include Windows Notepad,
OS Edit command, Brief, Epsilon, EMACS, and vim or vi.
The name and the version of the text editor can vary on different operating systems. For
example, Notepad will be used on Windows, and vim or vi can be used on Windows as well
as Linux or UNIX.
The files you create with your editor are called source files and contain program source
code. The source files for C programs are typically named with the extension ".c".
Before starting your programming, make sure you have one text editor in place and you
have enough experience to write a computer program, save it in a file, compile it, and
finally execute it.
4
Data Structures & Algorithms
The C Compiler
The source code written in the source file is the human readable source for your program.
It needs to be "compiled", to turn into machine language so that your CPU can actually
execute the program as per the given instructions.
This C programming language compiler will be used to compile your source code into a
final executable program. We assume you have the basic knowledge about a programming
language compiler.
Most frequently used and free available compiler is GNU C/C++ compiler. Otherwise, you
can have compilers either from HP or Solaris if you have respective Operating Systems
(OS).
The following section guides you on how to install GNU C/C++ compiler on various OS.
We are mentioning C/C++ together because GNU GCC compiler works for both C and C++
programming languages.
InstallationonUNIX/Linux
If you are using Linux or UNIX, then check whether GCC is installed on your system by
entering the following command from the command line −
$ gcc -v
If you have GNU compiler installed on your machine, then it should print a message such
as the following −
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr .......
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)
If GCC is not installed, then you will have to install it yourself using the detailed instructions
available at http://gcc.gnu.org/install/
This tutorial has been written based on Linux and all the given examples have been
compiled on Cent OS flavor of Linux system.
InstallationonMacOS
If you use Mac OS X, the easiest way to obtain GCC is to download the Xcode development
environment from Apple's website and follow the simple installation instructions. Once you
have Xcode setup, you will be able to use GNU compiler for C/C++.
Xcode is currently available at developer.apple.com/technologies/tools/
5
Data Structures & Algorithms
InstallationonWindows
To install GCC on Windows, you need to install MinGW. To install MinGW, go to the MinGW
homepage, www.mingw.org, and follow the link to the MinGW download page. Download
the latest version of the MinGW installation program, which should be named MinGW-
<version>.exe.
While installing MinWG, at a minimum, you must install gcc-core, gcc-g++, binutils, and
the MinGW runtime, but you may wish to install more.
Add the bin subdirectory of your MinGW installation to your PATH environment variable,
so that you can specify these tools on the command line by their simple names.
When the installation is complete, you will be able to run gcc, g++, ar, ranlib, dlltool, and
several other GNU tools from the Windows command line.
6
Data Structures & Algorithms
Algorithm
7
3. Algorithms ─ Basics
Algorithm is a step-by-step procedure, which defines a set of instructions to be executed
in a certain order to get the desired output. Algorithms are generally created independent
of underlying languages, i.e. an algorithm can be implemented in more than one
programming language.
From the data structure point of view, following are some important categories of
algorithms −
 Search − Algorithm to search an item in a data structure.
 Sort − Algorithm to sort items in a certain order.
 Insert − Algorithm to insert item in a data structure.
 Update − Algorithm to update an existing item in a data structure.
 Delete − Algorithm to delete an existing item from a data structure.
CharacteristicsofanAlgorithm
Not all procedures can be called an algorithm. An algorithm should have the following
characteristics −
 Unambiguous − Algorithm should be clear and unambiguous. Each of its steps
(or phases), and their inputs/outputs should be clear and must lead to only one
meaning.
 Input − An algorithm should have 0 or more well-defined inputs.
 Output − An algorithm should have 1 or more well-defined outputs, and should
match the desired output.
 Finiteness − Algorithms must terminate after a finite number of steps.
 Feasibility − Should be feasible with the available resources.
 Independent − An algorithm should have step-by-step directions, which should
be independent of any programming code.
8
Data Structures & Algorithms
How toWriteanAlgorithm?
There are no well-defined standards for writing algorithms. Rather, it is problem
and resource dependent. Algorithms are never written to support a particular
programming code.
As we know that all programming languages share basic code constructs like
loops (do, for, while), flow-control (if-else), etc. These common constructs can be used
to write an algorithm.
We write algorithms in a step-by-step manner, but it is not always the case. Algorithm
writing is a process and is executed after the problem domain is well-defined. That is,
we should know the problem domain, for which we are designing a solution.
9
Data Structures & Algorithms
End of ebook preview
If you liked what you saw…
Buy it from our store @ https://store.tutorialspoint.com
10

More Related Content

What's hot (20)

Learning how to learn
Learning how to learnLearning how to learn
Learning how to learn
Joaquin Vanschoren
 
Data Structure and Algorithms
Data Structure and AlgorithmsData Structure and Algorithms
Data Structure and Algorithms
iqbalphy1
 
OpenML NeurIPS2018
OpenML NeurIPS2018OpenML NeurIPS2018
OpenML NeurIPS2018
Joaquin Vanschoren
 
Data Structure
Data StructureData Structure
Data Structure
sheraz1
 
Lesson 2.2 abstraction
Lesson 2.2   abstractionLesson 2.2   abstraction
Lesson 2.2 abstraction
MLG College of Learning, Inc
 
Open and Automated Machine Learning
Open and Automated Machine LearningOpen and Automated Machine Learning
Open and Automated Machine Learning
Joaquin Vanschoren
 
Machine Learning for Dummies
Machine Learning for DummiesMachine Learning for Dummies
Machine Learning for Dummies
Venkata Reddy Konasani
 
Data Structures and Algorithm - Week 11 - Algorithm Analysis
Data Structures and Algorithm - Week 11 - Algorithm AnalysisData Structures and Algorithm - Week 11 - Algorithm Analysis
Data Structures and Algorithm - Week 11 - Algorithm Analysis
Ferdin Joe John Joseph PhD
 
Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)
Hayim Makabee
 
Data Structures and Algorithm - Week 4 - Trees, Binary Trees
Data Structures and Algorithm - Week 4 - Trees, Binary TreesData Structures and Algorithm - Week 4 - Trees, Binary Trees
Data Structures and Algorithm - Week 4 - Trees, Binary Trees
Ferdin Joe John Joseph PhD
 
Data Structures and Algorithm - Week 8 - Minimum Spanning Trees
Data Structures and Algorithm - Week 8 - Minimum Spanning TreesData Structures and Algorithm - Week 8 - Minimum Spanning Trees
Data Structures and Algorithm - Week 8 - Minimum Spanning Trees
Ferdin Joe John Joseph PhD
 
Stacks in algorithems & data structure
Stacks in algorithems & data structureStacks in algorithems & data structure
Stacks in algorithems & data structure
faran nawaz
 
i-Eclat: performance enhancement of Eclat via incremental approach in frequen...
i-Eclat: performance enhancement of Eclat via incremental approach in frequen...i-Eclat: performance enhancement of Eclat via incremental approach in frequen...
i-Eclat: performance enhancement of Eclat via incremental approach in frequen...
TELKOMNIKA JOURNAL
 
Meta learning tutorial
Meta learning tutorialMeta learning tutorial
Meta learning tutorial
Joaquin Vanschoren
 
Automatic Visualization - Leland Wilkinson, Chief Scientist, H2O.ai
Automatic Visualization - Leland Wilkinson, Chief Scientist, H2O.aiAutomatic Visualization - Leland Wilkinson, Chief Scientist, H2O.ai
Automatic Visualization - Leland Wilkinson, Chief Scientist, H2O.ai
Sri Ambati
 
Explainable AI - making ML and DL models more interpretable
Explainable AI - making ML and DL models more interpretableExplainable AI - making ML and DL models more interpretable
Explainable AI - making ML and DL models more interpretable
Aditya Bhattacharya
 
Data Structures and Algorithm - Week 5 - AVL Trees
Data Structures and Algorithm - Week 5 - AVL TreesData Structures and Algorithm - Week 5 - AVL Trees
Data Structures and Algorithm - Week 5 - AVL Trees
Ferdin Joe John Joseph PhD
 
geekgap.io webinar #1
geekgap.io webinar #1geekgap.io webinar #1
geekgap.io webinar #1
junior Teudjio
 
Introduction to Data Structures & Algorithms
Introduction to Data Structures & AlgorithmsIntroduction to Data Structures & Algorithms
Introduction to Data Structures & Algorithms
Afaq Mansoor Khan
 
Algorithms
AlgorithmsAlgorithms
Algorithms
Ramy F. Radwan
 
Data Structure and Algorithms
Data Structure and AlgorithmsData Structure and Algorithms
Data Structure and Algorithms
iqbalphy1
 
Data Structure
Data StructureData Structure
Data Structure
sheraz1
 
Open and Automated Machine Learning
Open and Automated Machine LearningOpen and Automated Machine Learning
Open and Automated Machine Learning
Joaquin Vanschoren
 
Data Structures and Algorithm - Week 11 - Algorithm Analysis
Data Structures and Algorithm - Week 11 - Algorithm AnalysisData Structures and Algorithm - Week 11 - Algorithm Analysis
Data Structures and Algorithm - Week 11 - Algorithm Analysis
Ferdin Joe John Joseph PhD
 
Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)Automated Machine Learning (Auto ML)
Automated Machine Learning (Auto ML)
Hayim Makabee
 
Data Structures and Algorithm - Week 4 - Trees, Binary Trees
Data Structures and Algorithm - Week 4 - Trees, Binary TreesData Structures and Algorithm - Week 4 - Trees, Binary Trees
Data Structures and Algorithm - Week 4 - Trees, Binary Trees
Ferdin Joe John Joseph PhD
 
Data Structures and Algorithm - Week 8 - Minimum Spanning Trees
Data Structures and Algorithm - Week 8 - Minimum Spanning TreesData Structures and Algorithm - Week 8 - Minimum Spanning Trees
Data Structures and Algorithm - Week 8 - Minimum Spanning Trees
Ferdin Joe John Joseph PhD
 
Stacks in algorithems & data structure
Stacks in algorithems & data structureStacks in algorithems & data structure
Stacks in algorithems & data structure
faran nawaz
 
i-Eclat: performance enhancement of Eclat via incremental approach in frequen...
i-Eclat: performance enhancement of Eclat via incremental approach in frequen...i-Eclat: performance enhancement of Eclat via incremental approach in frequen...
i-Eclat: performance enhancement of Eclat via incremental approach in frequen...
TELKOMNIKA JOURNAL
 
Automatic Visualization - Leland Wilkinson, Chief Scientist, H2O.ai
Automatic Visualization - Leland Wilkinson, Chief Scientist, H2O.aiAutomatic Visualization - Leland Wilkinson, Chief Scientist, H2O.ai
Automatic Visualization - Leland Wilkinson, Chief Scientist, H2O.ai
Sri Ambati
 
Explainable AI - making ML and DL models more interpretable
Explainable AI - making ML and DL models more interpretableExplainable AI - making ML and DL models more interpretable
Explainable AI - making ML and DL models more interpretable
Aditya Bhattacharya
 
Data Structures and Algorithm - Week 5 - AVL Trees
Data Structures and Algorithm - Week 5 - AVL TreesData Structures and Algorithm - Week 5 - AVL Trees
Data Structures and Algorithm - Week 5 - AVL Trees
Ferdin Joe John Joseph PhD
 
Introduction to Data Structures & Algorithms
Introduction to Data Structures & AlgorithmsIntroduction to Data Structures & Algorithms
Introduction to Data Structures & Algorithms
Afaq Mansoor Khan
 

Similar to Data structures algorithms_tutorial (20)

Learn data structures algorithms tutorial
Learn data structures algorithms tutorialLearn data structures algorithms tutorial
Learn data structures algorithms tutorial
Ashoka Vanjare
 
Data structures algorithms_tutorial
Data structures algorithms_tutorialData structures algorithms_tutorial
Data structures algorithms_tutorial
Rama Prasath A
 
Data Structures and algorithms in C
Data Structures  and  algorithms   in  CData Structures  and  algorithms   in  C
Data Structures and algorithms in C
Naresh IT
 
Data_structures_and_algorithm_Lec_1.pptx
Data_structures_and_algorithm_Lec_1.pptxData_structures_and_algorithm_Lec_1.pptx
Data_structures_and_algorithm_Lec_1.pptx
aamirali1061a
 
Data_structures_and_algorithm_Lec_1.pptx
Data_structures_and_algorithm_Lec_1.pptxData_structures_and_algorithm_Lec_1.pptx
Data_structures_and_algorithm_Lec_1.pptx
aamirali1061a
 
Data Structure and its Fundamentals
Data Structure and its FundamentalsData Structure and its Fundamentals
Data Structure and its Fundamentals
Hitesh Mohapatra
 
e computer notes - Introduction to data structures
e computer notes - Introduction to data structurese computer notes - Introduction to data structures
e computer notes - Introduction to data structures
ecomputernotes
 
Data Structures and Algorithms (DSA) in C
Data Structures and Algorithms (DSA) in CData Structures and Algorithms (DSA) in C
Data Structures and Algorithms (DSA) in C
Nabajyoti Banik
 
Unit I Data structure and algorithms notes
Unit I Data structure and algorithms notesUnit I Data structure and algorithms notes
Unit I Data structure and algorithms notes
FIONACHATOLA
 
Data Structures and Algorithm - Module 1.pptx
Data Structures and Algorithm - Module 1.pptxData Structures and Algorithm - Module 1.pptx
Data Structures and Algorithm - Module 1.pptx
EllenGrace9
 
Data Structure & aaplications_Module-1.pptx
Data Structure & aaplications_Module-1.pptxData Structure & aaplications_Module-1.pptx
Data Structure & aaplications_Module-1.pptx
GIRISHKUMARBC1
 
Data Structure and Algorithms
Data Structure and AlgorithmsData Structure and Algorithms
Data Structure and Algorithms
Sumathi MathanMohan
 
computer notes - Introduction to data structures
computer notes - Introduction to data structurescomputer notes - Introduction to data structures
computer notes - Introduction to data structures
ecomputernotes
 
Introduction-to-Data-Structure-and-Algorithm.pptx
Introduction-to-Data-Structure-and-Algorithm.pptxIntroduction-to-Data-Structure-and-Algorithm.pptx
Introduction-to-Data-Structure-and-Algorithm.pptx
vliencycapateiii
 
Lect 1-2
Lect 1-2Lect 1-2
Lect 1-2
Zaheer Aghani
 
Data structures-sample-programs
Data structures-sample-programsData structures-sample-programs
Data structures-sample-programs
Rajula Gurva Reddy
 
Data structure
Data structureData structure
Data structure
Muhammad Farhan
 
DSA - Lesson 1 INtroduction to database.pptx
DSA - Lesson 1 INtroduction to database.pptxDSA - Lesson 1 INtroduction to database.pptx
DSA - Lesson 1 INtroduction to database.pptx
JobertCaeteGrapa
 
EE-232-LEC-01 Data_structures.pptx
EE-232-LEC-01 Data_structures.pptxEE-232-LEC-01 Data_structures.pptx
EE-232-LEC-01 Data_structures.pptx
iamultapromax
 
Chapter 0: introduction to data structure
Chapter 0: introduction to data structureChapter 0: introduction to data structure
Chapter 0: introduction to data structure
Mahmoud Alfarra
 
Learn data structures algorithms tutorial
Learn data structures algorithms tutorialLearn data structures algorithms tutorial
Learn data structures algorithms tutorial
Ashoka Vanjare
 
Data structures algorithms_tutorial
Data structures algorithms_tutorialData structures algorithms_tutorial
Data structures algorithms_tutorial
Rama Prasath A
 
Data Structures and algorithms in C
Data Structures  and  algorithms   in  CData Structures  and  algorithms   in  C
Data Structures and algorithms in C
Naresh IT
 
Data_structures_and_algorithm_Lec_1.pptx
Data_structures_and_algorithm_Lec_1.pptxData_structures_and_algorithm_Lec_1.pptx
Data_structures_and_algorithm_Lec_1.pptx
aamirali1061a
 
Data_structures_and_algorithm_Lec_1.pptx
Data_structures_and_algorithm_Lec_1.pptxData_structures_and_algorithm_Lec_1.pptx
Data_structures_and_algorithm_Lec_1.pptx
aamirali1061a
 
Data Structure and its Fundamentals
Data Structure and its FundamentalsData Structure and its Fundamentals
Data Structure and its Fundamentals
Hitesh Mohapatra
 
e computer notes - Introduction to data structures
e computer notes - Introduction to data structurese computer notes - Introduction to data structures
e computer notes - Introduction to data structures
ecomputernotes
 
Data Structures and Algorithms (DSA) in C
Data Structures and Algorithms (DSA) in CData Structures and Algorithms (DSA) in C
Data Structures and Algorithms (DSA) in C
Nabajyoti Banik
 
Unit I Data structure and algorithms notes
Unit I Data structure and algorithms notesUnit I Data structure and algorithms notes
Unit I Data structure and algorithms notes
FIONACHATOLA
 
Data Structures and Algorithm - Module 1.pptx
Data Structures and Algorithm - Module 1.pptxData Structures and Algorithm - Module 1.pptx
Data Structures and Algorithm - Module 1.pptx
EllenGrace9
 
Data Structure & aaplications_Module-1.pptx
Data Structure & aaplications_Module-1.pptxData Structure & aaplications_Module-1.pptx
Data Structure & aaplications_Module-1.pptx
GIRISHKUMARBC1
 
computer notes - Introduction to data structures
computer notes - Introduction to data structurescomputer notes - Introduction to data structures
computer notes - Introduction to data structures
ecomputernotes
 
Introduction-to-Data-Structure-and-Algorithm.pptx
Introduction-to-Data-Structure-and-Algorithm.pptxIntroduction-to-Data-Structure-and-Algorithm.pptx
Introduction-to-Data-Structure-and-Algorithm.pptx
vliencycapateiii
 
Data structures-sample-programs
Data structures-sample-programsData structures-sample-programs
Data structures-sample-programs
Rajula Gurva Reddy
 
DSA - Lesson 1 INtroduction to database.pptx
DSA - Lesson 1 INtroduction to database.pptxDSA - Lesson 1 INtroduction to database.pptx
DSA - Lesson 1 INtroduction to database.pptx
JobertCaeteGrapa
 
EE-232-LEC-01 Data_structures.pptx
EE-232-LEC-01 Data_structures.pptxEE-232-LEC-01 Data_structures.pptx
EE-232-LEC-01 Data_structures.pptx
iamultapromax
 
Chapter 0: introduction to data structure
Chapter 0: introduction to data structureChapter 0: introduction to data structure
Chapter 0: introduction to data structure
Mahmoud Alfarra
 
Ad

More from HarikaReddy115 (20)

Dbms tutorial
Dbms tutorialDbms tutorial
Dbms tutorial
HarikaReddy115
 
Data structures algorithms_tutorial
Data structures algorithms_tutorialData structures algorithms_tutorial
Data structures algorithms_tutorial
HarikaReddy115
 
Wireless communication tutorial
Wireless communication tutorialWireless communication tutorial
Wireless communication tutorial
HarikaReddy115
 
Cryptography tutorial
Cryptography tutorialCryptography tutorial
Cryptography tutorial
HarikaReddy115
 
Cosmology tutorial
Cosmology tutorialCosmology tutorial
Cosmology tutorial
HarikaReddy115
 
Control systems tutorial
Control systems tutorialControl systems tutorial
Control systems tutorial
HarikaReddy115
 
Computer logical organization_tutorial
Computer logical organization_tutorialComputer logical organization_tutorial
Computer logical organization_tutorial
HarikaReddy115
 
Computer fundamentals tutorial
Computer fundamentals tutorialComputer fundamentals tutorial
Computer fundamentals tutorial
HarikaReddy115
 
Compiler design tutorial
Compiler design tutorialCompiler design tutorial
Compiler design tutorial
HarikaReddy115
 
Communication technologies tutorial
Communication technologies tutorialCommunication technologies tutorial
Communication technologies tutorial
HarikaReddy115
 
Biometrics tutorial
Biometrics tutorialBiometrics tutorial
Biometrics tutorial
HarikaReddy115
 
Behavior driven development_tutorial
Behavior driven development_tutorialBehavior driven development_tutorial
Behavior driven development_tutorial
HarikaReddy115
 
Basics of computers_tutorial
Basics of computers_tutorialBasics of computers_tutorial
Basics of computers_tutorial
HarikaReddy115
 
Basics of computer_science_tutorial
Basics of computer_science_tutorialBasics of computer_science_tutorial
Basics of computer_science_tutorial
HarikaReddy115
 
Basic electronics tutorial
Basic electronics tutorialBasic electronics tutorial
Basic electronics tutorial
HarikaReddy115
 
Auditing tutorial
Auditing tutorialAuditing tutorial
Auditing tutorial
HarikaReddy115
 
Artificial neural network_tutorial
Artificial neural network_tutorialArtificial neural network_tutorial
Artificial neural network_tutorial
HarikaReddy115
 
Artificial intelligence tutorial
Artificial intelligence tutorialArtificial intelligence tutorial
Artificial intelligence tutorial
HarikaReddy115
 
Antenna theory tutorial
Antenna theory tutorialAntenna theory tutorial
Antenna theory tutorial
HarikaReddy115
 
Analog communication tutorial
Analog communication tutorialAnalog communication tutorial
Analog communication tutorial
HarikaReddy115
 
Data structures algorithms_tutorial
Data structures algorithms_tutorialData structures algorithms_tutorial
Data structures algorithms_tutorial
HarikaReddy115
 
Wireless communication tutorial
Wireless communication tutorialWireless communication tutorial
Wireless communication tutorial
HarikaReddy115
 
Control systems tutorial
Control systems tutorialControl systems tutorial
Control systems tutorial
HarikaReddy115
 
Computer logical organization_tutorial
Computer logical organization_tutorialComputer logical organization_tutorial
Computer logical organization_tutorial
HarikaReddy115
 
Computer fundamentals tutorial
Computer fundamentals tutorialComputer fundamentals tutorial
Computer fundamentals tutorial
HarikaReddy115
 
Compiler design tutorial
Compiler design tutorialCompiler design tutorial
Compiler design tutorial
HarikaReddy115
 
Communication technologies tutorial
Communication technologies tutorialCommunication technologies tutorial
Communication technologies tutorial
HarikaReddy115
 
Behavior driven development_tutorial
Behavior driven development_tutorialBehavior driven development_tutorial
Behavior driven development_tutorial
HarikaReddy115
 
Basics of computers_tutorial
Basics of computers_tutorialBasics of computers_tutorial
Basics of computers_tutorial
HarikaReddy115
 
Basics of computer_science_tutorial
Basics of computer_science_tutorialBasics of computer_science_tutorial
Basics of computer_science_tutorial
HarikaReddy115
 
Basic electronics tutorial
Basic electronics tutorialBasic electronics tutorial
Basic electronics tutorial
HarikaReddy115
 
Artificial neural network_tutorial
Artificial neural network_tutorialArtificial neural network_tutorial
Artificial neural network_tutorial
HarikaReddy115
 
Artificial intelligence tutorial
Artificial intelligence tutorialArtificial intelligence tutorial
Artificial intelligence tutorial
HarikaReddy115
 
Antenna theory tutorial
Antenna theory tutorialAntenna theory tutorial
Antenna theory tutorial
HarikaReddy115
 
Analog communication tutorial
Analog communication tutorialAnalog communication tutorial
Analog communication tutorial
HarikaReddy115
 
Ad

Recently uploaded (20)

Final Sketch Designs for poster production.pptx
Final Sketch Designs for poster production.pptxFinal Sketch Designs for poster production.pptx
Final Sketch Designs for poster production.pptx
bobby205207
 
FEBA Sofia Univercity final diplian v3 GSDG 5.2025.pdf
FEBA Sofia Univercity final diplian v3 GSDG 5.2025.pdfFEBA Sofia Univercity final diplian v3 GSDG 5.2025.pdf
FEBA Sofia Univercity final diplian v3 GSDG 5.2025.pdf
ChristinaFortunova
 
Introduction to Generative AI and Copilot.pdf
Introduction to Generative AI and Copilot.pdfIntroduction to Generative AI and Copilot.pdf
Introduction to Generative AI and Copilot.pdf
TechSoup
 
BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024
BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024
BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024
Quiz Club of PSG College of Arts & Science
 
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKANMATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
aditya23173
 
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition OecdEnergy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
razelitouali
 
How to Manage Inventory Movement in Odoo 18 POS
How to Manage Inventory Movement in Odoo 18 POSHow to Manage Inventory Movement in Odoo 18 POS
How to Manage Inventory Movement in Odoo 18 POS
Celine George
 
BINARY files CSV files JSON files with example.pptx
BINARY files CSV files JSON files with example.pptxBINARY files CSV files JSON files with example.pptx
BINARY files CSV files JSON files with example.pptx
Ramakrishna Reddy Bijjam
 
Publishing Your Memoir with Brooke Warner
Publishing Your Memoir with Brooke WarnerPublishing Your Memoir with Brooke Warner
Publishing Your Memoir with Brooke Warner
Brooke Warner
 
Capitol Doctoral Presentation -June 2025.pptx
Capitol Doctoral Presentation -June 2025.pptxCapitol Doctoral Presentation -June 2025.pptx
Capitol Doctoral Presentation -June 2025.pptx
CapitolTechU
 
LDMMIA Spring Ending Guest Grad Student News
LDMMIA Spring Ending Guest Grad Student NewsLDMMIA Spring Ending Guest Grad Student News
LDMMIA Spring Ending Guest Grad Student News
LDM & Mia eStudios
 
How to Configure Vendor Management in Lunch App of Odoo 18
How to Configure Vendor Management in Lunch App of Odoo 18How to Configure Vendor Management in Lunch App of Odoo 18
How to Configure Vendor Management in Lunch App of Odoo 18
Celine George
 
Revista digital preescolar en transformación
Revista digital preescolar en transformaciónRevista digital preescolar en transformación
Revista digital preescolar en transformación
guerragallardo26
 
Analysis of Quantitative Data Parametric and non-parametric tests.pptx
Analysis of Quantitative Data Parametric and non-parametric tests.pptxAnalysis of Quantitative Data Parametric and non-parametric tests.pptx
Analysis of Quantitative Data Parametric and non-parametric tests.pptx
Shrutidhara2
 
GEOGRAPHY-Study Material [ Class 10th] .pdf
GEOGRAPHY-Study Material [ Class 10th] .pdfGEOGRAPHY-Study Material [ Class 10th] .pdf
GEOGRAPHY-Study Material [ Class 10th] .pdf
SHERAZ AHMAD LONE
 
How to Manage & Create a New Department in Odoo 18 Employee
How to Manage & Create a New Department in Odoo 18 EmployeeHow to Manage & Create a New Department in Odoo 18 Employee
How to Manage & Create a New Department in Odoo 18 Employee
Celine George
 
SPENT QUIZ NQL JR FEST 5.0 BY SOURAV.pptx
SPENT QUIZ NQL JR FEST 5.0 BY SOURAV.pptxSPENT QUIZ NQL JR FEST 5.0 BY SOURAV.pptx
SPENT QUIZ NQL JR FEST 5.0 BY SOURAV.pptx
Sourav Kr Podder
 
Vikas Bansal Himachal Pradesh: A Visionary Transforming Himachal’s Educationa...
Vikas Bansal Himachal Pradesh: A Visionary Transforming Himachal’s Educationa...Vikas Bansal Himachal Pradesh: A Visionary Transforming Himachal’s Educationa...
Vikas Bansal Himachal Pradesh: A Visionary Transforming Himachal’s Educationa...
Himalayan Group of Professional Institutions (HGPI)
 
Exploring Ocean Floor Features for Middle School
Exploring Ocean Floor Features for Middle SchoolExploring Ocean Floor Features for Middle School
Exploring Ocean Floor Features for Middle School
Marie
 
Unit 3 Poster Sketches with annotations.pptx
Unit 3 Poster Sketches with annotations.pptxUnit 3 Poster Sketches with annotations.pptx
Unit 3 Poster Sketches with annotations.pptx
bobby205207
 
Final Sketch Designs for poster production.pptx
Final Sketch Designs for poster production.pptxFinal Sketch Designs for poster production.pptx
Final Sketch Designs for poster production.pptx
bobby205207
 
FEBA Sofia Univercity final diplian v3 GSDG 5.2025.pdf
FEBA Sofia Univercity final diplian v3 GSDG 5.2025.pdfFEBA Sofia Univercity final diplian v3 GSDG 5.2025.pdf
FEBA Sofia Univercity final diplian v3 GSDG 5.2025.pdf
ChristinaFortunova
 
Introduction to Generative AI and Copilot.pdf
Introduction to Generative AI and Copilot.pdfIntroduction to Generative AI and Copilot.pdf
Introduction to Generative AI and Copilot.pdf
TechSoup
 
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKANMATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
aditya23173
 
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition OecdEnergy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
razelitouali
 
How to Manage Inventory Movement in Odoo 18 POS
How to Manage Inventory Movement in Odoo 18 POSHow to Manage Inventory Movement in Odoo 18 POS
How to Manage Inventory Movement in Odoo 18 POS
Celine George
 
BINARY files CSV files JSON files with example.pptx
BINARY files CSV files JSON files with example.pptxBINARY files CSV files JSON files with example.pptx
BINARY files CSV files JSON files with example.pptx
Ramakrishna Reddy Bijjam
 
Publishing Your Memoir with Brooke Warner
Publishing Your Memoir with Brooke WarnerPublishing Your Memoir with Brooke Warner
Publishing Your Memoir with Brooke Warner
Brooke Warner
 
Capitol Doctoral Presentation -June 2025.pptx
Capitol Doctoral Presentation -June 2025.pptxCapitol Doctoral Presentation -June 2025.pptx
Capitol Doctoral Presentation -June 2025.pptx
CapitolTechU
 
LDMMIA Spring Ending Guest Grad Student News
LDMMIA Spring Ending Guest Grad Student NewsLDMMIA Spring Ending Guest Grad Student News
LDMMIA Spring Ending Guest Grad Student News
LDM & Mia eStudios
 
How to Configure Vendor Management in Lunch App of Odoo 18
How to Configure Vendor Management in Lunch App of Odoo 18How to Configure Vendor Management in Lunch App of Odoo 18
How to Configure Vendor Management in Lunch App of Odoo 18
Celine George
 
Revista digital preescolar en transformación
Revista digital preescolar en transformaciónRevista digital preescolar en transformación
Revista digital preescolar en transformación
guerragallardo26
 
Analysis of Quantitative Data Parametric and non-parametric tests.pptx
Analysis of Quantitative Data Parametric and non-parametric tests.pptxAnalysis of Quantitative Data Parametric and non-parametric tests.pptx
Analysis of Quantitative Data Parametric and non-parametric tests.pptx
Shrutidhara2
 
GEOGRAPHY-Study Material [ Class 10th] .pdf
GEOGRAPHY-Study Material [ Class 10th] .pdfGEOGRAPHY-Study Material [ Class 10th] .pdf
GEOGRAPHY-Study Material [ Class 10th] .pdf
SHERAZ AHMAD LONE
 
How to Manage & Create a New Department in Odoo 18 Employee
How to Manage & Create a New Department in Odoo 18 EmployeeHow to Manage & Create a New Department in Odoo 18 Employee
How to Manage & Create a New Department in Odoo 18 Employee
Celine George
 
SPENT QUIZ NQL JR FEST 5.0 BY SOURAV.pptx
SPENT QUIZ NQL JR FEST 5.0 BY SOURAV.pptxSPENT QUIZ NQL JR FEST 5.0 BY SOURAV.pptx
SPENT QUIZ NQL JR FEST 5.0 BY SOURAV.pptx
Sourav Kr Podder
 
Exploring Ocean Floor Features for Middle School
Exploring Ocean Floor Features for Middle SchoolExploring Ocean Floor Features for Middle School
Exploring Ocean Floor Features for Middle School
Marie
 
Unit 3 Poster Sketches with annotations.pptx
Unit 3 Poster Sketches with annotations.pptxUnit 3 Poster Sketches with annotations.pptx
Unit 3 Poster Sketches with annotations.pptx
bobby205207
 

Data structures algorithms_tutorial

  • 2. Data Structures & Algorithms AbouttheTutorial 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. CopyrightandDisclaimer © 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 [email protected] i
  • 3. Data Structures & Algorithms Compile&ExecuteOnline 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 <stdio.h> int main(){ /* My first program in C */ printf("Hello, World! n"); return 0; } ii
  • 4. Data Structures & Algorithms TableofContents 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
  • 5. 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
  • 6. Data Structures & Algorithms STACK & QUEUE........................................................................................................................74 13. Stack......................................................................................................................................................75 Stack Representation.....................................................................................................................................75 Basic Operations............................................................................................................................................76 peek().............................................................................................................................................................76 isfull().............................................................................................................................................................77 isempty()........................................................................................................................................................77 Push Operation..............................................................................................................................................78 Pop Operation ...............................................................................................................................................79 Stack Program in C.........................................................................................................................................81 14. Expression Parsing ..................................................................................................................................84 Infix Notation.................................................................................................................................................84 Prefix Notation ..............................................................................................................................................84 Postfix Notation.............................................................................................................................................84 Parsing Expressions .......................................................................................................................................85 Postfix Evaluation Algorithm .........................................................................................................................86 Expression Parsing Using Stack......................................................................................................................86 15. Queue.....................................................................................................................................................92 Queue Representation ..................................................................................................................................92 Basic Operations............................................................................................................................................92 peek().............................................................................................................................................................93 isfull().............................................................................................................................................................93 isempty()........................................................................................................................................................94 Enqueue Operation .......................................................................................................................................95 Dequeue Operation.......................................................................................................................................96 Queue Program in C ......................................................................................................................................98 SEARCHING TECHNIQUES........................................................................................................102 16. Linear Search .......................................................................................................................................103 Linear Search Program in C .........................................................................................................................104 17. Binary Search........................................................................................................................................107 How Binary Search Works? .........................................................................................................................107 Binary Search Program in C .........................................................................................................................110 18. Interpolation Search .............................................................................................................................113 Positioning in Binary Search ........................................................................................................................113 Position Probing in Interpolation Search.....................................................................................................114 Interpolation Search Program in C ..............................................................................................................116 19. Hash Table ............................................................................................................................................118 Hashing........................................................................................................................................................118 Linear Probing..............................................................................................................................................119 Basic Operations..........................................................................................................................................120 Data Item.....................................................................................................................................................120 v
  • 7. Data Structures & Algorithms Hash Method...............................................................................................................................................120 Search Operation.........................................................................................................................................120 Insert Operation ..........................................................................................................................................121 Delete Operation.........................................................................................................................................122 Hash Table Program in C .............................................................................................................................123 SORTING TECHNIQUES............................................................................................................128 20. Sorting Algorithm..................................................................................................................................129 In-place Sorting and Not-in-place Sorting ...................................................................................................129 Stable and Not Stable Sorting......................................................................................................................129 Adaptive and Non-Adaptive Sorting Algorithm...........................................................................................130 Important Terms..........................................................................................................................................130 21. Bubble Sort Algorithm ..........................................................................................................................132 How Bubble Sort Works?.............................................................................................................................132 Bubble Sort Program in C ............................................................................................................................136 22. Insertion Sort........................................................................................................................................140 How Insertion Sort Works? .........................................................................................................................140 Insertion Sort Program in C .........................................................................................................................143 23. Selection Sort........................................................................................................................................147 How Selection Sort Works? .........................................................................................................................147 Selection Sort Program in C.........................................................................................................................150 24. Merge Sort Algorithm ...........................................................................................................................153 How Merge Sort Works? .............................................................................................................................153 Merge Sort Program in C .............................................................................................................................156 25. Shell Sort ..............................................................................................................................................158 How Shell Sort Works? ................................................................................................................................158 Shell Sort Program in C................................................................................................................................162 26. Quick Sort .............................................................................................................................................166 Partition in Quick Sort .................................................................................................................................166 Quick Sort Pivot Algorithm ..........................................................................................................................166 Quick Sort Pivot Pseudocode ......................................................................................................................167 Quick Sort Algorithm ...................................................................................................................................167 Quick Sort Pseudocode................................................................................................................................168 Quick Sort Program in C ..............................................................................................................................168 GRAPH DATA STRUCTURE.......................................................................................................172 27. Graphs ..................................................................................................................................................173 Graph Data Structure ..................................................................................................................................173 Basic Operations..........................................................................................................................................175 vi
  • 8. Data Structures & Algorithms 28. Depth First Traversal............................................................................................................................176 Depth First Traversal in C ............................................................................................................................179 29. Breadth First Traversal.........................................................................................................................184 Breadth First Traversal in C .........................................................................................................................186 TREE DATA STRUCTURE ..........................................................................................................192 30. Tree ......................................................................................................................................................193 Important Terms..........................................................................................................................................193 Binary Search Tree Representation.............................................................................................................194 Tree Node....................................................................................................................................................194 BST Basic Operations...................................................................................................................................195 Insert Operation ..........................................................................................................................................195 Search Operation.........................................................................................................................................197 Tree Traversal in C.......................................................................................................................................198 31. Tree Traversal .......................................................................................................................................204 In-order Traversal........................................................................................................................................204 Pre-order Traversal......................................................................................................................................205 Post-order Traversal....................................................................................................................................206 Tree Traversal in C.......................................................................................................................................207 32. Binary Search Tree................................................................................................................................213 Representation............................................................................................................................................213 Basic Operations..........................................................................................................................................214 Node............................................................................................................................................................214 Search Operation.........................................................................................................................................214 Insert Operation ..........................................................................................................................................215 33. AVL Trees.............................................................................................................................................217 AVL Rotations ..............................................................................................................................................218 34. Spanning Tree.......................................................................................................................................222 General Properties of Spanning Tree ..........................................................................................................222 Mathematical Properties of Spanning Tree.................................................................................................223 Application of Spanning Tree ......................................................................................................................223 Minimum Spanning Tree (MST)...................................................................................................................223 Minimum Spanning-Tree Algorithm............................................................................................................223 Kruskal's Spanning Tree Algorithm..............................................................................................................224 Prim's Spanning Tree Algorithm..................................................................................................................227 35. Heaps....................................................................................................................................................231 Max Heap Construction Algorithm..............................................................................................................232 Max Heap Deletion Algorithm.....................................................................................................................233 RECURSION.............................................................................................................................234 vii
  • 9. Data Structures & Algorithms 36. Recursion ─ Basics.................................................................................................................................235 Properties ....................................................................................................................................................235 Implementation...........................................................................................................................................236 Analysis of Recursion...................................................................................................................................236 Time Complexity..........................................................................................................................................236 Space Complexity ........................................................................................................................................237 37. Tower of Hanoi .....................................................................................................................................238 Rules ............................................................................................................................................................238 Algorithm.....................................................................................................................................................242 Tower of Hanoi in C .....................................................................................................................................245 38. Fibonacci Series ....................................................................................................................................249 Fibonacci Iterative Algorithm ......................................................................................................................250 Fibonacci Interactive Program in C..............................................................................................................250 Fibonacci Recursive Algorithm ....................................................................................................................252 Fibonacci Recursive Program in C................................................................................................................252 viii
  • 10. Data Structures & Algorithms Basics 1
  • 11. 1. Overview Data Structure is a systematic way to organize data in order to use it efficiently. Following terms are the foundation terms of a data structure.  Interface − Each data structure has an interface. Interface represents the set of operations that a data structure supports. An interface only provides the list of supported operations, type of parameters they can accept and return type of these operations.  Implementation − Implementation provides the internal representation of a data structure. Implementation also provides the definition of the algorithms used in the operations of the data structure. CharacteristicsofaDataStructure  Correctness − Data structure implementation should implement its interface correctly.  Time Complexity − Running time or the execution time of operations of data structure must be as small as possible.  Space Complexity − Memory usage of a data structure operation should be as little as possible. NeedforDataStructure As applications are getting complex and data rich, there are three common problems that applications face now-a-days.  Data Search − Consider an inventory of 1 million(106) items of a store. If the application is to search an item, it has to search an item in 1 million(106) items every time slowing down the search. As data grows, search will become slower.  Processor Speed − Processor speed although being very high, falls limited if the data grows to billion records.  Multiple Requests − As thousands of users can search data simultaneously on a web server, even the fast server fails while searching the data. To solve the above-mentioned problems, data structures come to rescue. Data can be organized in a data structure in such a way that all items may not be required to be searched, and the required data can be searched almost instantly. 2
  • 12. Data Structures & Algorithms ExecutionTimeCases There are three cases which are usually used to compare various data structure's execution time in a relative manner.  Worst Case − This is the scenario where a particular data structure operation takes maximum time it can take. If an operation's worst case time is ƒ(n) then this operation will not take more than ƒ(n) time, where ƒ(n) represents function of n.  Average Case − This is the scenario depicting the average execution time of an operation of a data structure. If an operation takes ƒ(n) time in execution, then m operations will take mƒ(n) time.  Best Case − This is the scenario depicting the least possible execution time of an operation of a data structure. If an operation takes ƒ(n) time in execution, then the actual operation may take time as the random number which would be maximum as ƒ(n). BasicTerminology  Data − Data are values or set of values.  Data Item − Data item refers to single unit of values.  Group Items − Data items that are divided into sub items are called as Group Items.  Elementary Items − Data items that cannot be divided are called as Elementary Items.  Attribute and Entity − An entity is that which contains certain attributes or properties, which may be assigned values.  Entity Set − Entities of similar attributes form an entity set.  Field − Field is a single elementary unit of information representing an attribute of an entity.  Record − Record is a collection of field values of a given entity.  File − File is a collection of records of the entities in a given entity set. 3
  • 13. 2. Environment Setup TryitOptionOnline You really do not need to set up your own environment to start learning C programming language. Reason is very simple, we already have set up C Programming environment online, so that you can compile and execute all the available examples online at the same time when you are doing your theory work. This gives you confidence in what you are reading and to check the result with different options. Feel free to modify any example and execute it online. Try the following example using the Try it option available at the top right corner of the sample code box − #include <stdio.h> int main(){ /* My first program in C */ printf("Hello, World! n"); return 0; } For most of the examples given in this tutorial, you will find Try it option, so just make use of it and enjoy your learning. LocalEnvironmentSetup If you are still willing to set up your environment for C programming language, you need the following two tools available on your computer, (a) Text Editor and (b) The C Compiler. Text Editor This will be used to type your program. Examples of few editors include Windows Notepad, OS Edit command, Brief, Epsilon, EMACS, and vim or vi. The name and the version of the text editor can vary on different operating systems. For example, Notepad will be used on Windows, and vim or vi can be used on Windows as well as Linux or UNIX. The files you create with your editor are called source files and contain program source code. The source files for C programs are typically named with the extension ".c". Before starting your programming, make sure you have one text editor in place and you have enough experience to write a computer program, save it in a file, compile it, and finally execute it. 4
  • 14. Data Structures & Algorithms The C Compiler The source code written in the source file is the human readable source for your program. It needs to be "compiled", to turn into machine language so that your CPU can actually execute the program as per the given instructions. This C programming language compiler will be used to compile your source code into a final executable program. We assume you have the basic knowledge about a programming language compiler. Most frequently used and free available compiler is GNU C/C++ compiler. Otherwise, you can have compilers either from HP or Solaris if you have respective Operating Systems (OS). The following section guides you on how to install GNU C/C++ compiler on various OS. We are mentioning C/C++ together because GNU GCC compiler works for both C and C++ programming languages. InstallationonUNIX/Linux If you are using Linux or UNIX, then check whether GCC is installed on your system by entering the following command from the command line − $ gcc -v If you have GNU compiler installed on your machine, then it should print a message such as the following − Using built-in specs. Target: i386-redhat-linux Configured with: ../configure --prefix=/usr ....... Thread model: posix gcc version 4.1.2 20080704 (Red Hat 4.1.2-46) If GCC is not installed, then you will have to install it yourself using the detailed instructions available at http://gcc.gnu.org/install/ This tutorial has been written based on Linux and all the given examples have been compiled on Cent OS flavor of Linux system. InstallationonMacOS If you use Mac OS X, the easiest way to obtain GCC is to download the Xcode development environment from Apple's website and follow the simple installation instructions. Once you have Xcode setup, you will be able to use GNU compiler for C/C++. Xcode is currently available at developer.apple.com/technologies/tools/ 5
  • 15. Data Structures & Algorithms InstallationonWindows To install GCC on Windows, you need to install MinGW. To install MinGW, go to the MinGW homepage, www.mingw.org, and follow the link to the MinGW download page. Download the latest version of the MinGW installation program, which should be named MinGW- <version>.exe. While installing MinWG, at a minimum, you must install gcc-core, gcc-g++, binutils, and the MinGW runtime, but you may wish to install more. Add the bin subdirectory of your MinGW installation to your PATH environment variable, so that you can specify these tools on the command line by their simple names. When the installation is complete, you will be able to run gcc, g++, ar, ranlib, dlltool, and several other GNU tools from the Windows command line. 6
  • 16. Data Structures & Algorithms Algorithm 7
  • 17. 3. Algorithms ─ Basics Algorithm is a step-by-step procedure, which defines a set of instructions to be executed in a certain order to get the desired output. Algorithms are generally created independent of underlying languages, i.e. an algorithm can be implemented in more than one programming language. From the data structure point of view, following are some important categories of algorithms −  Search − Algorithm to search an item in a data structure.  Sort − Algorithm to sort items in a certain order.  Insert − Algorithm to insert item in a data structure.  Update − Algorithm to update an existing item in a data structure.  Delete − Algorithm to delete an existing item from a data structure. CharacteristicsofanAlgorithm Not all procedures can be called an algorithm. An algorithm should have the following characteristics −  Unambiguous − Algorithm should be clear and unambiguous. Each of its steps (or phases), and their inputs/outputs should be clear and must lead to only one meaning.  Input − An algorithm should have 0 or more well-defined inputs.  Output − An algorithm should have 1 or more well-defined outputs, and should match the desired output.  Finiteness − Algorithms must terminate after a finite number of steps.  Feasibility − Should be feasible with the available resources.  Independent − An algorithm should have step-by-step directions, which should be independent of any programming code. 8
  • 18. Data Structures & Algorithms How toWriteanAlgorithm? There are no well-defined standards for writing algorithms. Rather, it is problem and resource dependent. Algorithms are never written to support a particular programming code. As we know that all programming languages share basic code constructs like loops (do, for, while), flow-control (if-else), etc. These common constructs can be used to write an algorithm. We write algorithms in a step-by-step manner, but it is not always the case. Algorithm writing is a process and is executed after the problem domain is well-defined. That is, we should know the problem domain, for which we are designing a solution. 9
  • 19. Data Structures & Algorithms End of ebook preview If you liked what you saw… Buy it from our store @ https://store.tutorialspoint.com 10