In this blog, we’re going to look at fancy cool analysis techniques for data structures. And these are useful for tons of different data structures, especially in the context when you’re using a data structure to implement an algorithm.

For example, when you learn Dijkstra’s algorithm, you have the option of using different heap structures for the priority queue in Dijkstra, and each of them gives a different running time with Dijkstra. But we care more about the total running time of the algorithm, than the individual running time of each operation.

Which is precisely what amortization is about. It’s…


While learning web development, you come across a series of concepts that engulf you completely.

Browsers? Servers? Client/Server-side? AJAX?

Fortunately, to create a basic website locally, you only need to understand HTML and CSS. But to understand how a website can eventually go live on the web, understanding the concept of front-end vs. back-end is very important.
Consider this basic analogy: When you visit a restaurant, the waiter takes your order and serves you the food, whereas, the chef cooks the food for you. Similarly, front-end and back-end together make your website functional.

In the case of a restaurant, the…

Tanishka Gupta

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