Aditya Chatterjee's Blog, page 97
April 14, 2022
T&& (double ampersand) in C++11
In this article, we have explored the idea of T&& (double ampersand) in C++11. T&& was firstly introduced in the C++ 11 standard which declares an rvalue reference.
ReferencesThere two value references-
lvalue referencervalue reference"L" stands for left in lvalue reference and "R" stands for right in rvalue reference.The thing to remember is that these are properties of expressions and not objects.
lvalue continue to exists beyond a expression while rvalue till an expression ends baecause ...
System Design of School Management Software
In this article, we will be exploring the System Requirements, Architecture, Low-level design, database design, and examples of School Management Software.
Table of Contents
School Management SystemSystem RequirementsFunctional RequirementsNon-functional RequirementsSoftware RequirementsHardware RequirementsSystem DesignArchitecture of the SystemSubsystem DecompositionLow-Level DesignDatabase DesignExamples of School Management SoftwareSchool Management SystemSchool manageme...
System Design of Fee Management System
In this article, we will take a look at the key features a fee management system needs to offer, its high-level, low-level design, database design, and some of the features that turnkey software solutions offer.
Table of contents:
Fee Management SystemSystem RequirementsFunctional RequirementsNon - Functional RequirementsSoftware RequirementsHigh-Level DesignFor a small settingFor a large settingLow-Level Design and ClassesDatabase Design of Library Management SystemTurnkey Soft...April 13, 2022
Cross entropy method for optimization
In this article, we will understand the cross entropy method that is widely used as an optimization technique in machine learning.
Table of contentsWhat is entropy?The cross entropy methodApplicationsWhat is entropy?
Before we get to know about cross entropy method, first we need to understand what is entropy. Entropy is defined as the level of 'surprise' in the variable's possible outcome.
Let us now talk about entropy and surprise in detail. Say we have a bag of 12 balls out of which 11...
MapReduce in System Design
In this article, we have explored the idea of MapReduce tool in depth and how it is used in System Design.
Table of contents:
MapReduce OverviewTop 3 Stages of MapReduceAdvantages of MapReduceMapReduce ApplicationsAlternatives and limitationsConclusionMapReduce OverviewHadoop's MapReduce processing engine processes and computes huge amounts of data. It enables businesses and other organizations to perform calculations in order to:
• Determine the most profitable price for their items.
•...
Bentley Ottmann Algorithm for Plane Sweeping
In this article, we shall be discussing the Bentley-Ottmann algorithm for computing a plane sweep. This lists all the intersection points in a set of line segments. The Bentley-Ottman algorithm takes O((n+k)logn) time where k = o(n^2/logn), it makes the algorithm more efficient th...
Depth Limited Search
In this article, we have explored Depth Limited Search algorithm which is a restricted version of Depth First Search (DFS).
Table of contents:
Introduction to Depth Limited SearchDepth Limited Search AlgorithmStep by Step ExampleImplementationAdvantages of Depth Limited SearchDisadvantages of Depth Limited SearchMeasures of PerformanceComparison of DLS with BFS and DFSConclusionIntroduction to Depth Limited SearchDepth limited search is an uninformed search algorithm which is similar...
Intro Sort
In this article, we will discuss about the Introspective or Intro sort algorithm which is an efficient Hybrid Sorting Algorithm making use of Quick Sort, Heap Sort and Insertion Sort.
What we will see:-
Introspective Sort AlgorithmQuick sortHeap sortInsertion sortCode for Intro sortAnalysing the Time Complexity forWorst CaseAverage CaseBest CaseAnalysing the Space ComplexityConclusionReferencesPre-requisites:
Quick SortHeap SortInsertion SortIntrospective SortIntro or I...Syntax Directed Definitions
SDDs specify values of attributes by associating the semantic rules of a programming language with the grammar productions. In this article, learn about SDDs, different types of attributes, and how SDDs are evaluated in a parse tree.
Table of contents.Introduction.Inherited and synthesized attributes.Evaluating SDDs at nodes of a parse tree.Examples.Summary.References.Introduction.A Syntax-directed definition is a context-free grammar with rules and attributes. Attributes are associate...
April 11, 2022
Python script to read email from Gmail
In this article, we have explained the idea of using Python to read an email from Gmail with a complete Python implementation example.
Table Of Contents:
Introduction to the email, and impalib modules, IMAP4 SSL protocol, RFC822 standardGenerate gmail app codeConfig file setupExample in PythonIntroduction to the email, and impalib modules, IMAP4 SSL protocol, RFC822 standard, email headersPython email moduleThe email package is a library for managing email messages. It is specifically no...