cs0213-data structures and algorithms lab using c & c++ (1)

Upload: taimoor-shakeel

Post on 16-Feb-2018

236 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    1/28

    CS0213 DATA STRUCTURES AND ALGORITHM LAB

    USING C & C++

    LABORATORY MANUAL

    II - CSE

    III - SEMESTER

    ACADEMIC YEAR: 2012-2013

    SCHOOL OF COMPUTER SCIENCE & ENGINEERINGSRM UNIVERSITY,

    SRM NAGAR, KATTANKULATHUR-603203.

    KANCHEEPURAM DISTRICT.

    1

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    2/28

    2

    SCHOOL OF COMPUTER SCIENCE & ENGINEERING

    SRM UNIVERSITY,

    SRM NAGAR, KATTANKULATHUR-603203.

    SUBJECT : DATA STRUCTURES AND ALGORITHM SUBJECTCODE: CS0213

    SEMESTER: III CLASS : II CSE

    HOURS / WEEK: 6 HOURS

    EX. NO NAME OF THE EXPERIMENTS PAGE NO

    1LINEAR SEARCH 3

    2BINARY SEARCH 5

    3SELECTION SORT 7

    4BUBBLE SORT 9

    5INSERTION SORT 11

    6MERGE SORT 13

    7

    QUICK SORT 15

    8STACKS 17

    9QUEUES 19

    10MAXIMUM AND MINIMUM 21

    11KNAPSACK PROBLEM 23

    12 SINGLY LINKED LIST 25

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    3/28

    3

    LINEAR SEARCH

    AIM:

    To find a given target number using linear search from the list of numbers.

    ALGORITHM:

    Step 1: Initialize the integer variables

    Step 2: Get the target number from user

    Step 3: Get the list of numbers to be searched

    Step 4: If the counter is equal to target the print the location

    Step 5: If it is not equal to then print that the location is not found

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    4/28

    4

    INPUT:

    Enter the number to be found: 25

    Enter the number of elements in the list: 5

    Enter the elements: 12 22 37 25 61

    OUTPUT:

    The number is found in location: 4

    RESULT:

    The target number is found using linear search successfully

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    5/28

    5

    BINARY SEARCH

    AIM:

    To find a given target number using Binary Search from the list of number.

    ALGORITHM:

    Step 1: Initialize the integer variables

    Step 2: Get the values from the list

    Step 3: Sorted List of numbers is got as input.

    Step 4: Get the target number from the user.

    Step 5: Initialize first value as zero and last as n-1;

    Step 6: The mid value is found.

    Step 7: If the target is greater than mid then first is mid + 1 if not last is mid -1.

    Step 8: First is last +1

    Step 9: The target is found, if its equal to a(mid) otherwise target is not

    found.

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    6/28

    6

    INPUT:

    Enter the number of elements in the list: 5

    Enter the sorted list: 11 22 33 44 55

    Enter the target: 33

    OUTPUT:

    The target is found in location: 3

    RESULT:

    The target number is found using Binary Search successfully

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    7/28

    7

    SELECTION SORT

    AIM:

    To sort the given data using selection sort.

    ALGORITHM:

    Step 1: Initialize the integer variables.

    Step 2: Get the total number of values from the user.

    Step 3: Get the numbers to be sorted.

    Step 4: Initialize i to current

    Step 5: If current is less than j ,then initialize j to current.

    Step 6: Assign j to temp, current to i and temp to current for swapping

    Step 7: print the sorted data

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    8/28

    8

    INPUT

    Enter the number of elements: 5

    Enter the Numbers to be sorted: 31 21 77 62 45

    OUTPUT

    Sorted Data: 21 31 45 62 77

    RESULT:

    The given data is sorted and printed using selection sort.

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    9/28

    9

    BUBBLE SORT

    AIM:

    To sort the given data using Bubble sort.

    ALGORITHM:

    Step 1: Initialize the variables i,j,n, and temp.

    Step 2: Get the number of elements.

    Step 3: Get the numbers to be sorted.

    Step 4; Assign a[i] to temp

    Step 5: Assign a[i+1] to a[i]

    Step 6: Assign Temp to a[i+1]

    Step 7: The data is sorted.

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    10/28

    10

    INPUT

    Enter the number of elements: 6

    Enter the numbers to be sorted: 22 66 11 99 33 77

    OUTPUT

    Sorted Data: 11 22 33 66 77 99

    RESULT:

    The given data is sorted and printed using Bubble sort.

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    11/28

    11

    INSERTION SORT

    AIM:

    To sort the given data using Insertion sort.

    ALGORITHM:

    Step 1: Initialize the variables i,j,n, curr and temp.

    Step 2: Get the number of elements.

    Step 3: Get the numbers to be sorted.

    Step 4: If the second element is less than the first element then assign it to

    temp.

    Step 5: Assign the first element to second element.

    Step 6: Assign Temp to first element.

    Step 7: The swapping is done

    Step 8: The data is sorted.

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    12/28

    12

    INPUT

    Enter the number of entries: 5

    Enter the list of no to be sorted: 25 15 35 05 45

    OUTPUT

    The sorted list: 05 15 25 35 45

    RESULT:

    The given data is sorted and printed using Insertion Sort.

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    13/28

    13

    MERGE SORT

    AIM:

    To sort the given data using Merge sort.

    ALGORITHM:

    Step 1: Initialize the variables i,j,n,h,k,low,high.

    Step 2: Get the number of elements.

    Step 3: Get the numbers to be sorted.

    Step 4: If low is less than high then find the mid value.

    Step 5: Initialize h and i to low.

    Step 6: Initialize a[h] to b[i] else a[j] to b[i].

    Step 7: If h is greater than mid then a[k] == b[i] else b[k] == a[k]

    Step 8 The data is sorted and printed.

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    14/28

    14

    INPUT

    Enter the number of elements: 7

    The elements: 22 66 11 44 99 33 77

    OUTPUT

    Sorted Data: 11 22 33 44 66 77 99

    RESULT:

    The given data is sorted and printed using Merge Sort.

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    15/28

    15

    QUICK SORT

    AIM:

    To sort the given data using Quick Sort.

    ALGORITHM:

    Step 1: Initialize the variables i,j,n,r,p,q.

    Step 2: Get the number of elements.

    Step 3: Get the numbers to be sorted.

    Step 4: If p is less than q then the function is called.

    Step 5: If i is less than j, then interchange them.

    Step 6: If I is less than pivort interchange them.

    Step 7: The data is sorted and printed.

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    16/28

    16

    INPUT

    Enter the number of elements: 5

    Enter the unsorted list: 39 62 57 41 21

    OUTPUT

    The sorted list is: 21 41 39 57 62

    RESULT:

    The given data is sorted and printed using Quick Sort.

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    17/28

    17

    STACKS

    AIM:

    To perform all stacks operation.

    ALGORITHM:

    Step 1: Initialize the integer variables.

    Step 2: In a switch case, in case 1 the number to be pushed is got

    Step 3:Top is now equal to top+1

    Step 4: Else the stack is full

    Step 5: In case 2 the number to be deleted is got

    Step 6: Top is now equal to top-1

    Step 7: Else the stack is empty

    Step 8: In case 3 if the top is less than 0 the stack is full

    Step 9: Else the stack is printed

    Step 10: Default is no such choice

    INPUT / OUTPUT

    Enter the operation to be performed: 1) push 2) pop 3) display 4) exit

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    18/28

    18

    1

    Enter the number to be Added: 11

    Enter the operation to be performed: 1) push 2) pop 3) display 4) exit

    1

    Enter the number to be Added: 22

    Enter the operation to be performed: 1) push 2) pop 3) display 4) exit

    1

    Enter the number to be Added: 33

    Enter the operation to be performed: 1) push 2) pop 3) display 4) exit1

    Enter the number to be Added: 44

    Enter the operation to be performed: 1) push 2) pop 3) display 4) exit

    2

    Enter the number to be Added: 44

    Enter the operation to be performed: 1) push 2) pop 3) display 4) exit

    3

    The stack is 11 22 33

    Enter the operation to be performed: 1) push 2) pop 3) display 4) exit

    4

    RESULT:

    All the stack operations are performed using the switch case

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    19/28

    19

    QUEUES

    AIM:

    To perform all the queue operations

    ALGORITHM:

    Step 1:Initialize the integer variables

    Step 2:In a switch case in case 1 get the number to be added in the queue

    Step 3: Else the queue is full

    Step 4: In case 2 get the number to be deleted from the queue

    Step 5: Else the queue is full

    Step 6: If tail and head are less than 0 then in case 3 the queue is full

    Step 7: Else the queue is printed

    Step 8: The default case is no such choice

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    20/28

    20

    INPUT / OUTPUT:

    Enter the operation to be performed: 1)Enqueue 2)Dequeue 3)Display 4)Exit

    1

    Enter the number to be added 11

    Enter the operation to be performed: 1)Enqueue 2)Dequeue 3)Display 4)Exit

    1

    Enter the number to be added 22

    Enter the operation to be performed: 1)Enqueue 2)Dequeue 3)Display 4)Exit

    1

    Enter the number to be added 33

    Enter the operation to be performed: 1)Enqueue 2)Dequeue 3)Display 4)Exit

    1

    Enter the number to be added 44

    Enter the operation to be performed: 1)Enqueue 2)Dequeue 3)Display 4)Exit

    2

    The number to be deleted is 11

    Enter the operation to be performed: 1)Enqueue 2)Dequeue 3)Display 4)Exit

    3

    The queue is 22 33 44

    RESULT:

    All the queue operations are performed

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    21/28

    21

    MAXIMUM AND MINIMUM

    AIM:

    To find the maximum and minimum value in a given list of numbers

    ALGORITHM:

    Step 1:Initialise the variables in the main function

    Step 2: Get the total number of items

    Step 3: Get the numbers from the user

    Step 4: The function is called.

    If there is only one element then the max and min is the same element

    Step 5: If there is two element then check if a[x] is less than a[y] then a[x] is

    min and a[y] is max

    Step 6: If there is more number of items mid value is found

    Step 7: Now max is assigned to t1 and min to t2

    Step 8: If the max is less than t1 the max is t1,if min is greater than t2 the

    min t2

    Step 9: The min and max values are found and printed

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    22/28

    22

    INPUT

    Enter the no of numbers: 6

    Enter the numbers: 33 59 11 67 92 05

    OUTPUT

    Maximum Number = 92

    Minimum Number = 05

    RESULT:

    The maximum and minimum number is found and printed.

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    23/28

    23

    KNAPSACK PROBLEM

    AIM:

    To find the maximum profit from the items in the bag.

    ALGORITHM:

    Step 1: Initialize the variables, profit, weight, p/w and maxprofit.

    Step 2: Get the number of elements.

    Step 3: Get the capacity of the bag.

    Step 4: Get the profit of items in the bag.

    Step 5: Get the weight of each item in the bag.

    Step 7: Assign pw[j] to t1, p[j] to t2 and w[j] to t3.

    Step 8: If w[i] > capacity then find the ratio of capacity to weight of each item.

    Step 9: Else subtract the weight of the item from the total capacity.

    Step 10: Solution vector is found and printed.

    Step 11: The maximum profit is found and printed.

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    24/28

    24

    INPUT/OUTPUT:

    Enter the number of elements:

    4

    Enter the capacity:

    4

    Enter the profit:

    5 9 4 8

    Enter the weight:

    1 3 2 2

    Enter the p/w ratio:

    5 3 2 4

    Solution vector:13 15 16

    Profit: 16

    RESULT:

    The maximum profit is found and printed on the screen.

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    25/28

    25

    SINGLY LINKED LIST

    AIM:

    To perform all the singly linked list operations

    ALGORITHM:

    Step 1: Declare the functions to create,display,count.

    Step 2: Declare the variables in the main function.

    Step 3: In a switch case get each functions number.

    Step 4: To append the list create the memory by using malloc function.

    Step 5: Assign a variable temp using pointers.

    Step 6: To delete a node create a dummy variable.

    Step 7: Check if the list is empty otherwise display the list using for

    statement.

    Step 8: To insert a node in middle, allocate memory using malloc function

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    26/28

    26

    INPUT / OUTPUT:

    Singly Linked List:

    1. Create or Append List

    2. Insert in Beginning3. Insert in Middle

    4. Remove from the List

    5. Count

    6. Display

    7. Quit

    Enter your Choice: 1

    Enter any number: 12

    Enter more(y/n): y

    Enter any number: 13

    Enter more(y/n): n

    Singly Linked List:

    1. Create or Append List

    2. Insert in Beginning

    3. Insert in Middle

    4. Remove from the List5. Count

    6. Display

    7. Quit

    Enter your Choice: 2

    Enter the Data to be inserted at Beginning: 11

    Singly Linked List:

    1. Create or Append List

    2. Insert in Beginning

    3. Insert in Middle

    4. Remove from the List

    5. Count

    6. Display

    7. Quit

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    27/28

    27

    Enter your Choice: 3

    Enter the Position to be Inserted: 2

    Enter the Data: 14

    Singly Linked List:

    1. Create or Append List

    2. Insert in Beginning

    3. Insert in Middle

    4. Remove from the List

    5. Count

    6. Display

    7. Quit

    Enter your Choice: 4

    Enter the Data to be Deleted: 12

    Singly Linked List:

    1. Create or Append List

    2. Insert in Beginning

    3. Insert in Middle

    4. Remove from the List

    5. Count

    6. Display

    7. Quit

    Enter your Choice: 5

    The Number of Nodes: 3

  • 7/23/2019 CS0213-Data structures and algorithms lab using c & c++ (1)

    28/28

    Singly Linked List:

    1. Create or Append List

    2. Insert in Beginning

    3. Insert in Middle

    4. Remove from the List

    5. Count

    6. Display

    7. Quit

    Enter your Choice: 6

    11 14 13

    RESULT:

    All the Singly Linked List operations are performed.