Photo by Markus Spiske on Unsplash

Write a function to find the length of the longest common subsequence between two sequences.

E.g. Given the strings “serendipitous” and “precipitation”, the longest common subsequence is “reipito” and its length is 7.

Recursive approach

  1. Create two counters and starting at 0. Our recursive function will compute the LCS of and
  2. If and are equal, then this character belongs to the LCS of and (why?). Further the length this is LCS is one more than LCS of and

Photo by Soraya Irving on Unsplash

"Sorting" essentially refers to "sorting in ascending order", unless specified otherwise.

Sorting algorithms are capable of doing multiple and extraordinary things, imagine how much time it would take for a human to sort a list of thousands of names to make a phonebook, or a list of thousands of recipes, archives, animals, etc.

Let’s create a list of numbers to be sorted as an example !

: A list of numbers e.g.

1. Bubble Sort

It is called by this name because herein smaller elements to bubble to the top and larger to sink to…


Wondering how to do that?! Well, then continue reading… :)

As it is well known that Python Dictionaries are a data structure which are used to store key-value pairs; where “keys” are used to store and retrieve the stored “values”. For example, here is a dictionary for storing and retrieving the marks of students in a class;

# Creating a dictionary
result =
{
'A' : '20',
'B' : '15',
'C' : '10'
}
result
# Retrieving the marks using key value(here, name)
result['A']
# Add a new value
result['Z'] = '9'
# Update existing value
result['A'] = '11'
#…


A linked list is a data structure used for storing a sequence of elements. It’s data with some structure (the sequence).

Implementation of Linked List

class LinkedList(): def __init__(self): self.head = None def append(self, value): if self.head is None: self.head = Node(value) else: current_node = self.head while current_node.next is not None: current_node = current_node.next current_node.next = Node(value) def show_elements(self): current = self.head while current is not None: print(current.data) current = current.next def length(self): result = 0 current = self.head while current is not None: result += 1 current = current.next return result def get_element(self, position): i = 0 current = self.head while current is…


An illustration of inverted tree trunk for better understanding.

Why is it called a tree?

It’s called a “tree” because it vaguely resembles an inverted tree trunk with branches.

  • The word “binary” indicates that each “node” in the tree can have at most 2 children (left or right).
  • Nodes can have 0, 1 or 2 children. Nodes that do not have any children are sometimes also called “leaves”.
  • The single node at the top is called the “root” node, and it typically where operations like search, insertion etc. begin.

A Binary Tree

Aditi Deodhar

Follow me on my #100DaysOfCode journey on Twitter → https://twitter.com/AditiDeodhar09

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store