4.凸包-Graham Scan
Graham Scan:Algorithm
Preprocessing
根据角度进行排序
Graham Scan
例子
例2
Graham Scan:Correctness
Left Turn/right Trun
下一个点出现的两种情况:非蓝即绿
Presorting
预排序很重要:否则所有的点都会满足 to-left-test
BackTracks算法复杂度
Planarity
黄色边代表,想要跨过去,却没有跨过去
紫色边代表,需要 backtrack 的边,最耗费时间
上面推到说明Graham scan的算法复杂度是线性的