My implementation of Graham's Scan Algorithm for finding the convex hull of a finite set of points in the plane with time complexity O(N*log(N)). The algorithm finds all vertices of the convex hull ordered along its boundary. It uses a stack to detect and remove concavities in the boundary efficiently.