This article will cover the probabilistic analysis of the randomized Quicksort algorithm. The randomness comes from selecting the pivot to partition the input array around uniformly.

Overview / Pseudocode

Quicksort is an efficient algorithm that solves the sorting problem; that is, given an input array A and its length n, find a permutation of A such that for all i, j (0 ≤ i < j < n), A[i] < A[j]. The running time of Quicksort is in the order of Θ(n log n). …


Sorting is an essential problem that shows up in many areas of computer science. To state precisely, the sorting problem takes an input array A with n distinct elements and outputs a permutation of A such that for all i and j (i < j), A’[i] < A’[j]:

Sorting Problem

Sorting algorithms (algorithms that solve the sorting problem) generally use comparison to sort an array, that is, the algorithm makes a comparison between some (or all) pairs of distinct elements in the array. …

Photo by Jordan Harrison on Unsplash

HTTP is literally everywhere. While reading this post from Medium, some HTTP/HTTPS flow or network communication runs in the background. Every website that you visit uses HTTP protocol to communicate with an HTTP server. Wait, what is a server? What does that even mean? In this article, I will explain the context of HTTP servers and how you can create your own one.


In today’s world, what I see common between programmers (and beginner programmers) is they tend to start with web development, particularly HTML/CSS and Javascript. After learning the basics, they start to use fancy frameworks or libraries, e.g…

Ege Hurturk

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