算法训练营 10.15

In-Triangle Test

计算几何,判断一个点是否在三角形内.
把三条边转化为有向线段,当然大多数时候我们习惯性认为方向是counter-clockwise.

bool InTriangle(P,Q,R,S) // s is a point
  return toLeft(P,Q,S) == toLeft(Q,R,S)&&toLeft(Q,R,S) == (R,P,S);

为什么要用相等符号去判断?三个点顺序不一定是逆时针 只要都是左或者都是右边即可.判断左右相等只要求出直线,带入判断大于0还是小于0.转化,大的问题转化成小的问题.

Stack

Push加入操作
Pop出栈操作
Top访问栈顶元素

InsertionSort

你可能感兴趣的:(算法训练营 10.15)