Aditya Chatterjee's Blog, page 92
May 4, 2022
API requests in Java
This article shows and explains the techniques to run API requests from Java applications, examples applied for GitHub REST API, GitHub GraphQL API, and public web services for SOAP API.
Application Programming Interfaces API are a way for one program to interact with another to share information or request services. This term is often used with web applications today, and you probably use it on daily basis without even noticing. For example, messengers on the phone can locate your current direc...
Different Pivot selection in Quick Sort
In this article, we have explored Different Pivot selection techniques in Quick Sort such as Median of Medians, Mode, First Element and much more along with Time Complexity of all methods.
Table of contents:
Introduction to Quick SortPivot SelectionDifferent Pivot Selection TechniquesIntroduction to Quick SortQuicksort has been described as the "quickest" and the "most efficient" sorting algorithm present.
Quicksort is a sorting algorithm based on the divide and conquer technique i.e., it ...
May 2, 2022
Introduction to GraphQL Schemas
This article describes the fundamental parts of schemas and how to create one.
GraphQL schemas are what GraphQL servers use to describe your data. The scheme defines a tree of types with fields that a data store then fills. They also specify what queries and clients can use mutations.
Contents:
What is GraphQLType languageSchema definition language (SDL)Type systemFieldsListsField nullabilityscalarobjectenumunionBeyondWhat is GraphQLGraphQL is a query language for your API and ...
Tail Recursion
In this article, we have explored the idea of Tail Recursion in depth with several code examples along with comparison with Non-Tail Recursion.
ContentsIntroductionPropertiesTail and Non-Tail RecursionExamples Of Tail Recursion.Logic for finding Tail or Non-Tail Recursion.Examples Of Non Tail Recursion.Function that look like Tail recursion but is not.Tail VS Non-Tail RecursionIntroductionWhat does the word tail mean? It marks the end.For an aircraft it is the tail of the vehicle whi...
May 1, 2022
Constructing a Parser in Compiler Design
In this article, we will be constructing a recursive descent parser for the Kaleidoscope programming language in Compiler Design.
Table of contents.Introduction.The parser.Summary.References.Prerequisites.Building a lexerIntroduction.Parsing in compiler design gets its input from the lexer which produces tokens given a high-level programming language as input.
Parsing can be divided into two types, the first is bottom-up and the other in top-down parsing.
Top-down parsing.
It is also...
Design and Analysis of Algorithms (DAA) [Syllabus]
This article presents the detailed Syllabus of the subject "Design and Analysis of Algorithms (DAA)" also known as "Data Structure and Algorithms (DSA)". This subject is taught in Bachelor of Science or Bachelor of Technology course in Computer Science. This is the most important subject in Computer Science.
Table of contents:
Syllabus of "Design and Analysis of Algorithms"This article includes the complete list of Algorithm and Data Structure topics.
[image error]
Syllabus of "Design and Analysis of Algo...20 Best Programmer Quotes [GOAT version 🐐]
In this article, we have presented the top 20 Best Programmer Quotes of all time. Every GOAT 🐐 programmer needs to go through them and enjoy the excellence. This include quotes from significant figures like Donald Knuth, Edsger Dijkstra, Peter Norton and much more.
The Greatest of all Time Programming Quotes are as follows:
Talk is cheap. Show me the code.Code teaches you how to face really big problemsWhether you want to uncover the secrets of the universe, or you just want to pursue a caree...April 30, 2022
System Design of Hotel Management System
In this article, we have presented the System Design of Hotel Management System in depth along with system and functional requirements, use case diagrams, architecture and much more.
TABLE OF CONTENTSHotel Management SystemSystem RequirementsFunctional RequirementsUse Case Diagram of Hotel Management SystemNon-Functional RequirementsPerformance RequirementsRequirements for SafetySecurity RequirementSoftware Quality AttributesSpecific RequirementsSoftware InterfacesHardware...Design LFU (Least Frequently Used) Cache
In this article, we will be designing a LFU (Least Frequently Used) Cache using different Data Structures such as Singly Linked List, Doubly Linked List, Min Heap and much more.
ContentsIntroduction to LFU (Least Frequently Used) CachePropertiesSolving the ProblemImplementation of the functions get(keyelement) and set(keyelement,value).Using MapUsing Singly Linked ListUsing Doubly Linked List to Make the Access time O(1).Using Min HeapPractical Example of LFU CachePre-requisites:
Im...April 29, 2022
Compiler Front-end: Building a lexer
We will build a lexical analyzer for the Kaleidoscope programming language which converts source code into tokens. This is the first program to interact with the source during compilation.
Table of contents.Introduction.The lexical analyzer.Summary.References.Prerequisites.LLVM, IR, SSAIntroduction.Lexical analysis is the first phase of a compiler. The first program to process code written in a high-level programming language such as Java, C/C . A lexical analyzer breaks syntaxes in...