Aditya Chatterjee's Blog, page 100
April 1, 2022
Different ways to calculate nᵗʰ Fibonacci number
In this article, we will implement different algorithms to calculate nth Fibonacci number.
Table of contents:Introduction to Fibonacci numbersUsing loopsUsing recursionUsing memoizationUsing a mathematical approachIntroduction to Fibonacci numbersIn the field of mathematics, the Fibonacci numbers(denoted as Fn) is a sequence, in which each number is the sum of the two preceding numbers.
The sequence is known as the Fibonacci sequence. It commonly starts from 0 and 1, although we can sta...
March 31, 2022
Python script to get currency exchange rates
In this article, we will be writing a Python Script to get currency exchange rates from an API and plotting graphs of exchange rates with respect to Time.
Table of content:-Problem StatementImplementationa. Api's
b. API used and setup
c. Libraries used
d. Script
e. Plot graphConclusionProblem Statement:
Sometimes we need to analyze the stock and exchange rates over a dataset to get proper insights of data for trading or other needs. so today we are going to write a python script to plot a...
Apache Kafka in System Design
This article will cover the uses of Apache Kafka in System Design, its core capabilities, and how it works.
Tables of Contents:
IntroductionCore CapabilitiesWhat is Event StreamingUse CasesCompanies that use KafkaUse Case: YoutubeEcosystemHow it WorksWhy use it?AlternativesIntroduction to KafkaApache Kafka is an open-source event streaming platform used for its streaming analytics, data pipelines, data integration, and more. The platform is commonly used among leading companies in v...
Hadoop in System Design
In this article, we have explored the idea behind Hadoop and how it is used in System Design.
Table of contents:
Introduction to HadoopBig Data and its challengesHadoop as a solutionComponents of HadoopHadoop vs RDBMSUse case of HadoopIntroduction to HadoopHadoop is a framework of open-source software utilities that managed Big Data storage in a distributed way and processed data parallely. Hadoop is able to efficiently break up Big Data processing across multiple commodity computer (Da...
Time and Space Complexity of Insertion Sort on Linked List
In this article, we have explored Time and Space Complexity analysis of Insertion Sort on Linked List.
Table of ContentOverview of Insertion Sort Algorithm on linked listAnalysis of Worst Case Time Complexity of Insertion SortAnalysis of Best Case Time Complexity of Insertion SortAnalysis of Average Case Time Complexity of Insertion SortAnalysis of Space Complexity of Insertion SortConclusionFollowing is the gist of this analysis:
Time & Space ComplexityInsertion Sort on Linked ListCas...
Monotone Chain algorithm for Convex Hull
In this article, we have explored Monotone Chain algorithm for finding Convex Hull in a given set of points.
Table of ContentsIntroductionApproachAlgorithmTime CompexityApplicationsOverviewIntroductionIn this article, we shall cover the monotone chain algorithm for finding the convex hull for a set of points.
The convex hull of a set of points is the smallest convex polygon that can contain all the points in a given space. The monotone chain algorithm is an effective method for this, b...
March 30, 2022
Python Script to Send Bulk WhatsApp Message
Over the course of this article, you will be learning how to automate the sending of bulk messages with WhatsApp! A basic way which only uses 2 lines of code and a complete program so you can understand this process. This article is meant for all levels I will be going over two ways to do this.
Table of Contents:
Setting Up Your SystemUsing PywhatkitUsing SeleniumThird Party ApplicationsThe Import StatementsConnecting to ChromeConnecting to WhatsAppOther FilesPutting it All TogetherRun...System Design of Library Management System
In this article, we will take a look at the key features a library management system needs to offer, its high-level, low-level design, database design, and some of the already existing library management software.
Table of Contents
Library Management SystemSystem RequirementsFunctional RequirementsNon - Functional RequirementsSoftware RequirementsHigh-Level DesignFor a small settingFor a large settingLow-Level Design and ClassesDatabase Design of Library Management SystemLeading...md5sum and sha256sum commands in Linux
MD5 (message-digest algorithm) and SHA-256 are hashing algorithms that take in a message and produce a fixed-length digest/hash we can use to verify the integrity of a file or directory. We learn about md5sum and sha256sum commands in Linux.
Table of contents.Introduction.Syntax.Commands usage.Summary.References.Introduction.MD5(message-digest algorithm) and SHA-256 are hashing algorithms that take in a message and produce a fixed-length digest we can use to verify the integrity of a fi...
tmux in Linux
A terminal multiplexer allows us to manage multiple terminal windows and sessions. In this article, we learn about tmux, installation, sessions, windows, synchronization, and more.
Table of contents.Introduction.Installation.Creating sessions.Detaching and attaching sessions.Windows.Splitting windows.Switching panes.Resizing panes.Synchronizing panes.Creating sessions.Summary.References.Introduction.A terminal multiplexer is a program that enables us to manage multiple terminal s...