参考资料: http://www.cse.psu.edu/~rtc12/CSE486/lecture06.pdf http://www.cnblogs.com/klitech/p/5779600.html