algorithms

Why We Still Need Good Algorithms

Algorithms sound like that boring word your textbooks love throwing at you. But here’s the twist: without good algorithms, your everyday digital life would be pure chaos. And I am not talking small chaos. I am talking “Google Maps sent me into a lake” chaos. Social Media Scrolls Gone Wrong You open Instagram. Excited. Expecting… Continue reading Why We Still Need Good Algorithms

algorithms

Algorithm for Algorithm

We have advanced so much with data science, machine learning and artificial learning that sometimes I really wonder if writing an algorithm would makes sense. With changing data, algorithm turns out to be highly dynamic and difficult to predict how it might behave after certain point of time if we are not aware of type… Continue reading Algorithm for Algorithm

algorithms

2’s Complement – C Program

We can obtain 2’s complement in atleast two ways through a C program. If n is a number then -n will give the result. The next approach is to first flip all the bits (1’s complement) and then add 1. The bits can be flipped using ~ operator. The program below demonstrates both the approaches.

algorithms

Bubble, Selection and Insertion Sorts – C

This post presents the C program of three basic sorting techniques. Bubble Sort: Selection Sort: Insertion Sort:

algorithms

Check if Number is Odd Using Bitwise – C

An odd number always has the LSB set to 1. If we AND the given number with 1, the even number will always turn out to be zero. We can using this to check if the number is odd or even. Examples: 1) n = 4 100     (4) 001     (1) ———– AND 000… Continue reading Check if Number is Odd Using Bitwise – C

algorithms

Case Conversion using Bitwise – C Programs

Refer to theory HERE. Program to Convert Upper Case to Lower Case: Program to Convert Lower Case to Upper Case:

algorithms

Case Conversion using Bitwise – C

We generally use the functions strlwr() and strupr() available under string.h to toggle between the cases. This can also be achieved using bitwise operations. Before that, lets understand the ASCII table. ASCII of A is 65 (1000001) ASCII of a is 97 (1100001) Similarly, ASCII of Z is 97   (1011010) ASCII of z is 122 (1111010)… Continue reading Case Conversion using Bitwise – C

algorithms

Pointer and Types – C

This note covers various types of pointers to be aware of and a few notations used with pointers. Types of Pointers Pointer: Pointer is a variable which holds the address of another variable NULL Pointer: A null pointer has a value reserved for indicating that the pointer does not refer to a valid object. It… Continue reading Pointer and Types – C

algorithms

Fibonacci Versions – C

This post covers the three implementation(Iterative, Recursive and Dynamic) version of Fibonacci series. The correctness of the code covers for integer range numbers only. 1. Iterative Version   2. Recursive Version   3. Dynamic Programming Version

algorithms

%d and %i format specifiers – C

What is a format specifier: It basically tells us what type of data we are dealing with, while reading(scanf()) or writing (printf()). It is a sequence starting with a % sign. While reading integers, we can go for %d or %i. %d assumes base 10 and %i auto detects it. To be more specific, %d specifies… Continue reading %d and %i format specifiers – C