Aditya Chatterjee's Blog, page 81
July 11, 2022
SIMD & SSE Instruction Set
In this article, we will discuss scalar computing (and some of its drawbacks), the need for vector/parallel computing, the fundamental concepts behind single instruction, multiple data (or SIMD) architecture, as well as one of its implementations in modern CPUs, namely: Intel's Streaming SIMD Extensions, or SSE for short.
Scalar Computing (SISD Architecture)Before parallelization was widely implemented in computers systems around the world, scalar processors were used to solve computational pro...
Introduction to Spring Boot
In this article, we explore one of the most popular Frameworks for Java Developers - Spring Boot and compare it with other popular frameworks like Spring, Spring MVC, Hibernate, and Spring Data. To demonstrate the capabilities of the Spring Boot, the article shows all stages of application development from generating the project to its deployment.
Table of contents:
Spring and Spring Boot overviewSpring Boot requirementsDependency managementManual dependency management with SpringSimplifie...July 6, 2022
Lexicographic next string
In this article, we are going to find the lexicographic next string for the given string.
What is lexicographic next string?Lexicographic next string for a given string is the string whose rank is just 1 more than that for the current string.
For e.g.:- If we have to find the lexicographic next string of ABC then it will be ACB as it will be the next in lexicographic order as the rank of ACB is 2 and that of ABC is 1.
One approach is to find all the permutations which can be ...
Preorder traversal in Binary Tree [Iterative + Recursive]
1.Introduction
2.Preorder Traversal of a Tree
3.Methods to find Preorder Traversal of a Tree
4.Iterative Approach
1.Code
2.Output
3.Time Complexity of the Approach
4.Space Complexity of the Approach
5.Recursive Approach
1.Code
2.Output
3.Time Complexity of the Approach
4.Space Complexity of the Approach
Preorder traversal is one of the traversal in binary tree in which the root node is visited first then the left subtree and then the right subtree.The order can be written a...
Different types of Firewall
Before we learn about the different types of a firewall, we should first understand what is a firewall? Back in the day when the Internet was first created, we did not need anything like firewalls. The concept itself was fairly new and not many people were able to comprehend it. But later as the Internet grew so did it's knowledge among people. Some people found out ways to exploit the Internet and use it for malicious intentions. During this age to prevent compromisation of t...
AO* algorithm
AO* algorithm is a best first search algorithm. AO* algorithm uses the concept of AND-OR graphs to decompose any complex problem given into smaller set of problems which are further solved. AND-OR graphs are specialized graphs that are used in problems that can be broken down into sub problems where AND side of the graph represent a set of task that need to be done to achieve the main goal , whereas the or side of the graph represent the different ways of performing task to achiev...
Types of NLP models
Natural Language Processing (NLP) refers to a branch of Artificial Intelligence (AI) in Computer Science that gives computers the ability to analyze and interpret human language. The ultimate goal of NLP is to train the computer to reach a human-level understanding by combining computational linguistics, statistical, machine learning and deep learning models. Practical usage of NLP models includes speech recognition, part of speech tagging, sentiment analysis and natural language generation.
👶 ...Contrastive Learning
Contrastive learning is a method for structuring the work of locating similarities and differences for an ML model. This method can be used to train a machine learning model to distinguish between similar and different photos.
A scoring function, which is a metric that assesses the similarity between two features, can be used to represent the inner workings of contrastive learning.
Unlabeled data points are juxtaposed against one another as part of the machine learning paradigm known as contrast...
July 4, 2022
AVX-512
In this article, we will discuss Intel's Advanced Vector Extensions 512 (AVX-512), which is an instruction set that was created to accelerate computational performance in areas such as artificial intelligence/deep learning, scientific simulations, cryptographic hashing, data protection and more. We will also take a closer look at some of its inherent advantages and disadvantages, and compare it with other instruction sets such as its predecessors, AVX and AVX-2.
What is AVX-512?Before the days ...
Time and Space Complexity of Merge Sort on Linked List
In this article, we will learn about the space and time complexity of the Merge sort algorithm on Linked List using Mathematical analysis of various cases.
Table of Contents :
Merge Sort algorithm on Linked ListTime Complexity Analysis of Merge Sort on Linked ListWorst Case Time Complexity AnalysisAverage Case Time Complexity AnalysisBest Case Time Complexity AnalysisSpace Complexity AnalysisComparison between Merge sort on array and linked listFAQs on Merge Sort algorithmMerge Sort Al...