welcome to data structure n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
WELCOME TO Data Structure PowerPoint Presentation
Download Presentation
WELCOME TO Data Structure

Loading in 2 Seconds...

play fullscreen
1 / 22

WELCOME TO Data Structure - PowerPoint PPT Presentation


  • 190 Views
  • Uploaded on

WELCOME TO Data Structure. By Sumit Kumar PGT(CS) KV , Samba. Data Structure. A Data Structure is a named group of different data types which can be processed as a single unit. A data structure has well-defined operations, behaviour and properties. It has three prospective:

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

WELCOME TO Data Structure


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
welcome to data structure

WELCOME TO Data Structure

By

Sumit Kumar

PGT(CS)

KV , Samba

data structure

Data Structure

A Data Structure is a named group of different data types which can be processed as a single unit. A data structure has well-defined operations, behaviour and properties.

It has three prospective:

Application (or user) level: A way of modeling real-life data in a specific context.

Abstract (or logical) level: An abstract collection of elements and its corresponding set of accessing operations.

Implementation Level: A specific representation of the structure and its accessing operations in a programming language.

types of data structure

Types of Data Structure

Simple Data Structure : These are normally built from primitive data types.

Array and Structure

Compound Data Structure: Simple data Structure can be combined in various ways to form more complex structure called compound data structure classified it two types:

Linear: single level data structure. Elements form a sequence i.e. Stack, Queue and Linked List

Non-Linear: multilevel i.e. Tree

stack

Stack refer to the lists stored and accessed in a special way i.e. LIFO technique. In stack, insertion and deletions take place only at one end called the top.

Stack

queues

Queues are FIFO lists, where insertions take place at the “rear” end of the queue and deletions take place at the “front” end of the queues.

Queues

link lists

Linked lists are special lists of some data elements linked to on another. The logical ordering is represented by having each element pointing to the next element. Each element is called node, which has two parts. The INFO part which stores the information and the POINTER part, which points to the next element.

Link Lists

slide8

Tree are multilevel data structures having a hierarchical relationship among its elements called nodes. Topmost node is called root of the tree and bottommost nodes are called leaves of the tree.

Tree

operation on data structures

Operation on Data Structures

Insertion

Deletion

Searching

Traversal

Sorting

Merging

array operations
Array Operations

Searching:

Linear Search:

Each element of the array is compared with the given item to be searched for, one by one. This method, which traverses the array sequentially to locate the given item, is called linear search or sequential search.

Binary Search:

This search technique searches the given item in minimum possible comparisons. Array must be sorted in any order.

searching linear search
Searching : Linear Search

#include<iostrem.h>

int Lsearch(int [ ], int, int);

void main( )

{ int ar[50], item, n ,index;

cout<<“Enter desired array size (max 50) ”;

cin>>n;

cout<<“Enter array elements”;

for(int i=0; i<n;i++)

{ cin>>ar[i];}

cout<<“Enter the element to be search for”;

cin>>item;

index=Lsearch(ar,n,item);

if(index==-1)

cout<<“not found”;

else

cout<<“found”;

}

int Lsearch(int ar[], int size, int item)

{ for(int i=0; i<size;i++)

{if (ar[i]==item) return 1;}

return -1;

}

searching binary search
Searching : Binary Search

#include<iostrem.h>

int Bsearch(int [ ], int, int);

void main( )

{ int ar[50], item, n ,index;

cout<<“Enter desired array size (max 50) ”;

cin>>n;

cout<<“Enter array elements (sorted in asc order)”;

for(int i=0; i<n;i++)

cin>>ar[i];

cout<<“Enter the element to be search for”;

cin>>item;

index=Lsearch(ar,n,item);

if(index==-1)

cout<<“not found”;

else

cout<<“found”;

}

int Bsearch(int ar[], int size, int item)

{ int beg=0, last=size-1, mid;

while(beg<=last)

{ mid=(beg+last)/2;

if (item==ar[mid]) return mid;

else if (item>ar[mid]) beg=mid+1;

else last =mid -1;

}

Return -1;

}

insertion in array
#include<iostrem.h>

int FindPos(int [ ], int, int);

void main( )

{ int ar[50], item, n ,index;

cout<<“Enter desired array size (max 50) ”;

cin>>n;

cout<<“Enter array elements (sorted in asc order)”;

for(int i=0; i<n;i++)

cin>>ar[i];

cout<<“Enter the element to be inserted”;

cin>>item;

if(n==50)

{cout<<“Overflow”; exit(1);}

index=FindPos(ar,n,item);

for(i=n;i>index;i--)

ar[i]=ar[i-1];

ar[index]=item;

n+=1;

for(i=0;i<n;i++)

cout<<ar[i]<<“ “;

}

Insertion in array

int FindPos(int ar[], int size, int item)

{ int pos;

if(item<ar[0]) pos=0;

else {for(int i=0;i<size-1;i++)

{ if(ar[i]<=item && item>ar[i])

{ pos=i+1; break;}

}

if (i==size-1) pos=size;

}

return pos;

}

deletion in array
#include<iostrem.h>

int Lsearch (int [ ], int, int);

void main( )

{ int ar[50], item, n ,index;

cout<<“Enter desired array size (max 50) ”;

cin>>n;

cout<<“Enter array elements (sorted in asc order)”;

for(int i=0; i<n;i++)

cin>>ar[i];

cout<<“Enter the element to be inserted”;

cin>>item;

if(n==0) {cout<<“Underflow”; exit(1);}

index=Lsearch(ar,n,item);

if (index!=-1) ar[index]=0;

else cout<<“sorry”;

for(i=index;i>n;i++)

ar[i]=ar[i+1];

n-=1;

for(i=0;i<n;i++)

cout<<ar[i]<<“ “;

}

Deletion in array

int Lsearch (int ar[], int size, int item)

{for(int i=0; i<size;i++)

{if (ar[i]==item) return 1;}

return -1;

}

traversal in array
#include<iostrem.h>

void main( )

{ int ar[50], item, n ,index;

cout<<“Enter desired array size (max 50) ”;

cin>>n;

cout<<“Enter array elements (sorted in asc order)”;

for(int i=0; i<n;i++)

cin>>ar[i];

cout<<“\n Array with doubled elements is as follows\n”;

for(i=0;i<n;i++)

{ ar[i] *=2;

cout<<ar[i]<<“ “;}

}

Traversal in array
selection sorting in array
#include <iostream.h>

int SelectionSort(int [], int);

int main(){

const int NUMEL = 10;

int nums[NUMEL] = {22,5,67,98,45,32,101,99,73,10};

int i, moves;

moves = SelectionSort(nums, NUMEL);

cout << "The sorted list, in ascending order, is:\n";

for (i = 0; i < NUMEL; i++)

cout << " " << nums[i];

cout << '\n' << moves << " moves were made to sort this list\n";

return 0;

}

Selection Sorting in array
selection sorting in array1
int SelectionSort(int num[], int numel)

{ int i, j, min, minidx, grade, moves = 0;

for ( i = 0; i < (numel - 1); i++)

{ min = num[i]; // assume minimum is the first array element

minidx = i; // index of minimum element

for(j = i + 1; j < numel; j++)

{ if (num[j] < min) // if we've located a lower value

{ // capture it

min = num[j];

minidx = j;}

}

if (min < num[i]) // check if we have a new minimum

{ // and if we do, swap values

grade = num[i];

num[i] = min;

num[minidx] = grade;

moves++;}}

return moves;}

Selection Sorting in array
bubble sorting in array
#include <iostream.h>

int BubbleSort(int [], int);

int main()

{

const int NUMEL = 10;

int nums[NUMEL] = {22,5,67,98,45,32,101,99,73,10};

int i, moves;

moves = BubbleSort(nums, NUMEL);

cout << "The sorted list, in ascending order, is:\n";

for (i = 0; i < NUMEL; ++i)

cout << " " <<nums[i];

cout << '\n' << moves << " were made to sort this list\n";

return 0;

}

Bubble Sorting in array
bubble sorting in array1
int BubbleSort(int num[], int numel)

{

    int i, j, grade, moves = 0;

for ( i = 0; i < (numel - 1); i++)

        {

for(j = 1; j < numel; j++)

          {            

if (num[j] < num[j-1])

             {

                    grade = num[j];

                    num[j] = num[j-1];

                    num[j-1] = grade;

                    moves++;

              }

            }

         }

return moves;

}

Bubble Sorting in array
insertion sorting in array
void InSort ( int ar[], int size){ int tmp, j;

ar[0]=INT_MIN;

for(int i=1; i <=size ; i++)

{ tmp=ar[i];

j=i+1;

while(tmp<ar[j])

{ ar[j+1]=ar[j];

j--; }

ar[j+1]=tmp;}

cout<<“After pass –” <<i <<“ – is: ”;

for(int k=1; k<=size;k++)

cout<<ar[k]<<“ “;

cout<<endl;

}

Insertion Sorting in array
merge sorting in array
void MergeSort ( int A[ ], int M, int B[ ], int N, int C[ ])

{ int a,b,c;

for(a=0,b=N-1, c=-1; a<M && b>=0;)

{ if (A[a]<=B[b]) C[c++] = A[a++];

else C[c++] = B [b--];

}

if(a<M)

{ while(a<M)

C[c++] = A[a++];

}

else

{ while(b>=0)

C[c++]=B[b--];

}

}

Merge Sorting in array