Block Swap Algorithm for Array Rotation in C++

sudhir sharma
Updated on 05-Aug-2020 08:08:00

1K+ Views

The block swap algorithm for array rotation is an efficient algorithm that is used for array rotation. It can do your work in O(n) time complexity.So, in array rotation, we are given an array arr[] of size n and a number k that define the no. of the element to be rotated.Let’s see an example on array rotations −Input  −arr[] = {4, 6, 1, 8, 9, 2}, k = 2 (number of rotations.)Output −{1, 8, 9, 2, 4, 6}Explanation − On rotation, we will shift the one element to the last position and shift the next elements to one position.Element ... Read More

BK-Tree Introduction in C++

sudhir sharma
Updated on 05-Aug-2020 08:05:17

365 Views

BK tree or Burkhard tree is a form of a data structure usually used to perform spell checks based on Levenshtein distance. It is also used for string matching Autocorrect feature can be used making this data structure. Let's say we have some words in a dictionary and we need to check some other words for spelling errors. We need to have a collection of words that is close to the given word whose spelling is to be checked. For example, if we have the word “uck” The correct word can be (truck, duck, duck, suck). Therefore spelling mistakes can ... Read More

Bitwise Sieve in C++

sudhir sharma
Updated on 05-Aug-2020 08:02:03

847 Views

In this problem, we are given a number N. Our task is to find all prime numbers smaller than N using Bitwise Sieve.Bitwise sieve is an optimized version of Sieve of Eratosthenes which is used to find all prime numbers smaller than the given number.Let’s take an example to understand the problem, Input − N = 25Output − 2 3 5 7 11 13 17 19 23The bitwise sieve works in the same ways as the normal sieve. It just we will use the bits of integers of represent primes instead of a boolean type. This will reduce the space ... Read More

Bitwise Recursive Addition of Two Integers in C

sudhir sharma
Updated on 05-Aug-2020 08:00:49

4K+ Views

In this problem, we are given two numbers. Our task is to create a C program for the Bitwise recursive addition of two integers.The logic to find the sum using the Bitwise operations is similar to what we used to do when we were in preschool. For finding the sum, we used to add each digit of the number and if a carry is there, we add it to the next digit.We will do a similar thing, find the sum using the XOR operator and check for the carry using the AND operation. If there is a carry we will ... Read More

Bitwise OR of N Binary Strings in C++

sudhir sharma
Updated on 05-Aug-2020 07:59:26

366 Views

In this problem, we are given an array bin[] of size n of binary strings. Our task is to create a program to find the Bitwise OR (&) of n binary strings.Here, we will take all numbers and find the bitwise AND of them i.e. bin[0] | bin[1] |... bin[n-2] | bin[n]Let’s take an example to understand the problem, Input −bin[] = {“1001”, “11001”, “010101”}Output −011101Explanation − Bitwise OR of all binary string −(1001) | (11001) | (010101) = 011101To solve this problem, We will simply find the string with the largest number of bits (max length string). Then we ... Read More

Bitwise OR of a Range in C++

sudhir sharma
Updated on 05-Aug-2020 07:57:22

1K+ Views

In this problem, we are given two integer values a and b. And our task is to find the bitwise OR (|) of range from a to b. This means we will have to find the value of a | a+1 | a+2 | … b-1 | b.Let’s take an example to understand the problem, Input − a = 3 , b = 8Output − 15Explanation − 3 | 4 | 5 | 6 | 7 | 8 = 15To solve the problem, a simple solution is starting from a and find bit-wise OR of all numbers by increasing one ... Read More

Bitwise AND of Sub-array Closest to K in C++

sudhir sharma
Updated on 05-Aug-2020 07:55:34

1K+ Views

In this problem, we are given an array arr[] of size n and an integer k. Our task is to find the subarray within from index i to j and compute bitwise AND of all its elements. After this print minimum value of abs(K- (bitwise AND of subarray)).Let’s take an example to understand the problem, Input − arr[] = {5, 1}, k = 2Output −To solve the problem, there can be a few methods.One simple solution will be using the direct method. By finding bitwise AND for all sub-arrays then finding the |K-X|.Step 1 − Find the bitwise AND for ... Read More

Bitwise AND, OR and NOT Operations of a Range in C++

sudhir sharma
Updated on 05-Aug-2020 07:49:12

226 Views

In this problem, we are given two integer values a and b. And our task is to find the bitwise and (&) of range from a to b. This means we will have to find the value of a & a+1 & a+2 & … b-1 & b.Let’s take an example to understand the problem, Input − a = 3 , b = 8Output − 0Explanation − 3 & 4 & 5 & 6 & 7 & 8 = 0To solve the problem, a simple solution is starting from a and find bitwise and of all numbers by increasing one ... Read More

Important Tactics in C++ for Bit Manipulation

sudhir sharma
Updated on 05-Aug-2020 07:47:30

3K+ Views

Let’s first recall the about bits and the bitwise operator is short.Bit is a binary digit. It is the smallest unit of data that is understandable by the computer. In can have only one of the two values 0 (denotes OFF) and 1 (denotes ON).Bitwise operators are the operators that work a bit level in the program.These operators are used to manipulate bits in the program.In C, we have 6 bitwise operators −Bitwise AND (&)Bitwise OR (OR)Bitwise XOR (XOR)Bitwise left Shift (>)Bitwise not (~)https://www.tutorialspoint.com/cprogramming/c_bitwise_operators.htmNow, let’s learn some important tactics i.e. things that can be helpful if you work with bits.Swap ... Read More

Bitonic Sort in C++

sudhir sharma
Updated on 05-Aug-2020 07:44:00

1K+ Views

The bitonic sort is a parallel sorting algorithm that is created for best implementation and has optimum usage with hardware and parallel processor array.It is not the most effective one though as compared to the merge sort. But it is good for parallel implementation. This is due to the predefined comparison sequence which makes comparisons independent of data that are to be sorted.For bitonic sort to work effectively the number of elements should be in a specific type of quantity i.e. the order 2^n.One major part of the bitonic sort is the bitonic sequence which is a sequence whose elements ... Read More

Advertisements