\begin{algorithmic}
\STATE \textbf{Input:} $d$ - Set of data points
\STATE \textbf{Initialize:} $left$,$right$ as an empty set
\STATE
\STATE Let $c$ be a random point in $d$
\STATE Find the point $left_0 \in d$ that is maximum distance from $c$
\STATE Find the point $right_0 \in d$ that is maximum distance from $left_0$
\FOR {each point $p_i \in d$}
\IF {distance($p_i$,$left_0$) $<$ distance($p_i$,$right_0$)}
\STATE Add $p_i$ to $left$
\ELSE
\STATE Add $p_i$ to $right$
\ENDIF
\ENDFOR
\IF { $\Delta(d, \lbrace left,right \rbrace) < \Delta_{threshold}$ }
\STATE Recurse on $left$ and $right$
\ELSE
\STATE Return $d$ as a cluster
\ENDIF
\end{algorithmic}