首页 > 代码库 > 普林斯顿公开课 算法4-4:优先级队列的应用

普林斯顿公开课 算法4-4:优先级队列的应用

问题


模拟N个运动的小球,小球之间可以发生弹性碰撞


建模


硬碟模型

  • N个运动的质点,它们之间能发生弹性碰撞,也可以和墙壁发生弹性碰撞

  • 每个质点有明确的位置、速度、质量、半径

  • 没有其他外力


模型应用范围

麦克斯韦:物体的温度和微粒速度分布的关系

爱因斯坦:解释花粉的布朗运动


基本思想

基本思想就是预测小球的碰撞时间,然后将碰撞时间作为优先级队列的关键字进行排序,每次从优先级队列中取出最小的元素,进行碰撞计算,然后重新预测碰撞时间。


这里面涉及到很多物理知识,代码就不演示了。