Aditya Chatterjee's Blog, page 134
December 28, 2021
Time and Space Complexity of Stooge Sort
In this article, we will be discussing the time and space complexity of Stooge Sort covering various cases like Worst, Best and Average Case.
Table of contents:
Introduction to SortingIntroduction to Stooge SortAnalysis of Stooge SortMaster TheoremTime Complexity of Stooge SortSpace Complexity of Stooge SortPre-requisites:
Stooge SortBasics of Time Complexity AnalysisAs a summary, Time Complexity of Stooge Sort:
SortingAverage CaseWorst CaseBest CaseStooge SortO(N2.709)O...December 27, 2021
Different phases of Compiler
In this article, we discuss the different phases of a Complier such as Lexical Analysis, Syntax Analysis, Intermediate Code Generation and others.
Table of contents:
Phases of CompilerAnalysis (Machine independent/Language dependent)Lexical AnalysisSyntax AnalysisSemantic AnalysisIntermediate code generationSynthesis (Machine Dependent/Language Independent)Code optimizerCode GeneratorSymbol tableError handling routinePre-requisites:
Parsing in Compiler DesignSymbol Table in ...Array Data Structure
In this article, we have explored Array Data Structure in depth. We explore key ideas in Array and how we develop our own custom implementation of Array along with different Array operations.
Table of contents:
Introduction to ArrayMulti-Dimensional ArrayImplementation of ArraySet an ElementAdd an element in ArrayGet element at an IndexDelete by IndexRemove by ElementPre-requisites:
Time Complexity Analysis of ArrayList of Array Practice ProblemsArray vs Linked ListIntroduction to...December 26, 2021
System Design of Instagram
In this article, we have explained the System Design of Instagram which is one of the most used Internet services today with over a Billion users. We have mentioned the technologies used in Instagram.
Table of contents:
What is Instagram?Requirements of InstagramScale of SystemSystem Component DesignNews Feed GenerationChoice of technologiesWhat is Instagram?Instagram is a social networking service that allows users to upload and share photos and videos with other users.
Requirements of...Quick Sort with two pivots (Dual-Pivot)
Quick Sort is a Sorting Algorithm that takes a divide-and-conquer approach. We will be looking at how to do this while selecting two pivots points instead of one.
Contents:
How to Quick SortHow to Partition for two pivot pointsTime & Space ComplexityExtraPre-requisites:
Quick SortTime and Space complexity of Quick SortParallel Quick SortInterview Questions on Quick SortQuick SortWhen performing Quick Sort their are two parts to it, first part of the Algorithm calls the second part ...
Basics of YAML
In this article, we are going to learn the basics of YAML and try to explore it in deep. YAML is a serialization language which is used in configuration files and in transferring messages between different applications. So let's get started.
Table of contents:
Introduction to YAMLSample YAML fileComments in YAMLNumeric datatypes in YAMLStrings in YAMLKey:value pairs in YAMLBoolean in YAMLNulls in YAMLArrays in YAMLIntroduction to YAMLYAML is a serialization markup language which gain...
Image Compression: ML Techniques and Applications
In this article, we will discuss Image Compression application in depth involving Machine Learning Techniques like RNN based Encoder and Decoder and applications of Image Compression.
Table of Contents:
Introduction.Image CompressionNeed of Image CompressionCompression Techniques and Algorithm4.1 Lossless Compression
4.2 Lossy CompressionRNN Based Encoder and Decoders for Image Compression.
5.1 Types of Recurrent Units
5.2 Reconstruction Framework
5.3 Evaluation MetricsApplication of Imag...
Lexical Analysis in Compiler Design
In this article, we discuss the first phase in compiler designing where the high level input program is converted into a sequence of tokens. This phase is known as Lexical Analysis in Compiler Design.
Table of contents:
Definitions for Lexical AnalysisAn example of Lexical AnalysisArchitecture of lexical analyzerRegular ExpressionsFinite AutomataRelationship between regular expressions and finite automataLongest Match RuleLexical errorsError recovery schemesNeed for lexical analyzersN...Different types of API Protocols
In this article, we shall briefly introduce APIs and then look at the various types of API protocols that are employed for their usage. The Different types of API Protocols covered are:
SOAPRESTJSON-RPCgRPCGraphQLXML-RPCApache ThriftLet's begin!
What are APIs?API stands for Application Programming Interface and refers to the act of communication between two or more computers or more specifically, computer programs. Like user interfaces exist to provide a platform for users to communica...
December 25, 2021
Pose Estimation
In this article, we will be discussing about pose estimation and its applications.
When the machine uses computer vision to detect the shape and the structure of the human body, it is known as pose estimation.
Table of contents:
Introduction to Pose EstimationHow are pose estimation models/networks trained?What are the different approaches used for human pose estimation?What is 3D pose estimation?Applications of pose estimationConclusionIntroduction to Pose EstimationPose estimation is ...