Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
C++ Program to calculate Bitonicity of an Array
Given with an array of integers and the task is to calculate the bitonicity of a given array using a function.
Bitonicity of an array is −
- Initialised to 0
- Incremented to 1 when the next element is greater than the previous value
- Decremented to 1 when the next element is lesser than the previous value
Example
Input-: arr[] = { 1,4,3,5,2,9,10,11}
Output-: Bitonicity of an array is : 3
Explanation −
- Initialize bitonicity calculating variable let’s say temp with 0.
- Start from the first element of an array which is 1. Now compare arr[i] and arr[i-1] i.e. compare 4 and 1 here 4 is greater than 1 thereby increment temp with 1. Similarly compare 4 and 3 since 3 is lesser than 4 decrement the value of temp.
- Print the final value of temp which is 3
Approach used in the below program is as follows
- Traverse all the elements of an array let’s say arr[n] where n is size of an array
- If arr[i] > arr[i-1], than bitonicity = bitonicity + 1
- If arr[i] < arr[i-1], than bitonicity = bitonicity – 1
- If arr[i] = arr[i-1], than bitonicity = bitonicity (unchanged)
Algorithm
Start
Step 1-> Declare function to calculate bitonicity of an array
int cal_bitonicity(int arr[], int n)
set int temp = 0
Loop For int i = 1 and i < n and i++
IF (arr[i] > arr[i - 1])
Increment temp++
End
Else IF (arr[i] < arr[i - 1])
Decrement temp—
End
return temp
step 2-> In main()
declare int arr[] = { 1,4,3,5,2,9,10,11}
set int n = sizeof(arr) / sizeof(arr[0])
Call cal_bitonicity(arr, n)
Stop
Example
#include <iostream>
using namespace std;
// calculate bitonicity
int cal_bitonicity(int arr[], int n) {
int temp = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > arr[i - 1])
temp++;
else if (arr[i] < arr[i - 1])
temp--;
}
return temp;
}
int main() {
int arr[] = { 1,4,3,5,2,9,10,11};
int n = sizeof(arr) / sizeof(arr[0]);
cout<<"Bitonicity of an array is : " <<cal_bitonicity(arr, n);
return 0;
}
Output
IF WE RUN THE ABOVE CODE IT WILL GENERATE FOLLOWING OUTPUT
Bitonicity of an array is : 3
Advertisements