Software Engineering Introduction to Canvas The canvas element is part of HTML5 specification and allows for rendering of 2D shapes and bitmap images. It is a low level, procedural model that updates a bitmap. Canvas also helps in making 2D games, animations, scenes or any graphics in general using JavaScript.
Software Engineering Representing Strings in C Compared to other languages, C is a low-level language. It does not have any specific data-type specific for a String. Since there is no built-in data-type in C language for String, it is handled using an array of characters. A String in C can be defined as an array of characters.
Software Engineering Concurrency in C++ Concurrency is having multiple threads of execution for a given process. As of today, C++ does not directly support it. However, several libraries exist that will tie a given function to a new thread of execution. We look into threads, race condition, mutex, atomicity, asynchronous tasks
Algorithms Understanding pairing nodes in Graphs (Maximum Matching) A maximal matching is a matching M of a graph G with the property that if any edge not in M is added to M, it is no longer a matching, that is, M is maximal if it is not a subset of any other matching in graph G. We cover Blossom, Hungarian and Hopcroft Karp algorithm
Algorithms Blossom Maximum Matching Algorithm The blossom algorithm, sometimes called the Edmonds' matching algorithm, can be used on any graph to construct a maximum matching. The blossom algorithm improves upon the Hungarian algorithm by shrinking cycles in the graph to reveal augmenting paths. The blossom algorithm will work on any graph.
Algorithms Hungarian Maximum Matching Algorithm The Hungarian maximum matching algorithm, also called the Kuhn-Munkres algorithm, is a O(V3) algorithm that can be used to find maximum-weight matchings in bipartite graphs, which is sometimes called the assignment problem. A bipartite graph can easily be represented by an adjacency matrix
Algorithms Hopcroft Karp algorithm The Hopcroft–Karp algorithm is an algorithm that takes as input a bipartite graph and produces as output a maximum cardinality matching, it runs in O(E√V) time in worst case.
Software Engineering if else in Kotlin if else is a conditional control flow statement which is commonly used and is supported by all major OOP languages. We explore if else in Kotlin in this article
Algorithms Pigeonhole Sort Pigeonhole sorting is a sorting algorithm that is suitable for sorting lists of elements where the number of elements and the number of possible key values are approximately the same.
Algorithms Cocktail Shaker Sort / Bidirectional bubble sort Cocktail Sort is a variation of Bubble sort. The Bubble sort algorithm always traverses elements from left and moves the largest element to its correct position in first iteration and second largest in second iteration and so on. It traverses through a given array in both directions alternatively.
Algorithms Odd Even Sort / Brick Sort Odd Even Sort uses parallel algorithm which is based on bubble sort technique. It is also known as Brick Sort. It has a best time complexity of O(N) whereas the worst case time complexity is O(N^2)
Python Implementing User Authentication in Django Django comes with a built-in user authentication system, which handles objects like users, groups, user-permissions and some cookie-based user sessions. Django’s User authentication not only authenticates (verifying the user identity) the user but also authorizes him.
Algorithms Number of unique partitions of an integer Given a positive integer, the problem is to find all the Unique Partitions of the number. We can understand the above problem using some basic examples. Naive approach takes O((N^N)log N) time complexity while Dynamic programming takes O(2^N)
Algorithms Number of non unique Partitions of an Integer The problem is to find number of non unique partitions of an integer. To solve this problem, we will explore naive approach O(N^N), Dynamic programming approach O(N^2) and Optimal approach O(log N)
kotlin When in Kotlin When is one of the control flow of Kotlin. If you are coming from java, When is a bit similar to Switch. Even if you don't know java, think When as powerful nested if else. If you don't know any programming language, then think When as a plain enlglish term WHEN.
Data Structures Pairing Heap Pairing heaps are a type of heap data structures which have fast running time for their operations. They are modificaton of Binomial Heap. Basically it is a type of self adjusting Binomial Heap which adjusts or rearrange themselves during the operations, due to which they remain balanced.
C++ Multipath Inheritance in C++ Multipath Inheritance in C++ is derivation of a class from other derived classes, which are derived from the same base class.This type of inheritance involves other inheritance like multiple, multilevel, hierarchical etc.
C++ Hybrid Inheritance in C++ In C++, Hybrid inheritance is done when we have to mix different types of inheritance within a single program, for example, mixing single inheritance with multiple inheritance or multiple inheritance within a single program.
C++ Single inheritance in C++ In C++, Single Level Inheritance or Single Inheritance is the mechanism of deriving a class from only one single base class.
C++ Struct in C++ struct or Structure is a user defined data type which allows you to combine data items of different kinds. Structures are used to group together different data elements (types of variables) under the same name. These data elements, known as members, can have different types and different lengths.
C++ Output in C++ Output Stream: The stream used for output is the output stream. If the direction of flow of btyes is from main memory to device( example :display screen ) then this process is called output. We explored cout, clog and cerr along with formatted output
Java Introduction to Java Server Pages (JSP) JSP stands for Java Server Pages. It is a server side technology used for creating dynamic and platform independent web pages. JSP is the advanced version of Servlets.
C++ Stack in C++ STL Stack in the STL of C++ is a dynamically resizing container. Stack class is an container adapter. Containers or container classes store objects and data. There are in total seven standard "first-class" container classes and three container adaptor classes and only seven header files
Java Map in Java The java.util.Map interface represents a mapping between a key and a value. The Map interface is not a subtype of the Collection interface. Therefore it behaves a bit different from the rest of the collection types.
C++ Multiple Inheritance in C++ In C++, when a subclass inherits from multiple base classes, it is known as multiple inheritance. The Dreaded Diamond refers to a class structure in which a particular class appears more than once in a class's inheritance hierarchy. To prevent it, virtual base class is used