计算机
huzhigenlaohu
这个作者很懒,什么都没留下…
展开
-
【分治法】最接近点对问题
问题场景:在应用中,常用诸如点、圆等简单的几何对象代表现实世界中的实体。在涉及这些几何对象的问题中,常需要了解其邻域中其他几何对象的信息。例如,在空中交通控制问题中,若将飞机作为空间中移动的一个点来看待,则具有最大碰撞危险的2架飞机,就是这个空间中最接近的一对点。这类问题是计算几何学中研究的基本问题之一。 问题描述:给定平面上n个点,找其中的一对点,使得在n个点的所有点对中,该点转载 2016-10-22 19:21:29 · 2902 阅读 · 1 评论 -
根据前序遍历和中序遍历结果重建二叉树(递归方法)
假设已经有了前序遍历和中序遍历的结果,如何重建这棵树呢?给定函数定义如下:void Rebuild(char* pPreOrder, //前序遍历结果 char* pInOrder, //中序遍历结果 int nTreeLen, //树的长度 NODE** pRoot) //返回NODE**类型原创 2016-10-24 22:08:58 · 1614 阅读 · 1 评论 -
扔鸡蛋问题详解(Egg Dropping Puzzle)
经典的动态规划问题,题设是这样的:如果你有2颗鸡蛋,和一栋36层高的楼,现在你想知道在哪一层楼之下,鸡蛋不会被摔碎,应该如何用最少的测试次数对于任何答案楼层都能够使问题得到解决。如果你从某一层楼扔下鸡蛋,它没有碎,则这个鸡蛋你可以继续用如果这个鸡蛋摔碎了,则你可以用来测试的鸡蛋减少一个所有鸡蛋的质量相同(都会在同一楼层以上摔碎)对于一个鸡蛋,如果其在楼层i扔下的时候摔碎了,对于任何原创 2016-10-04 17:55:46 · 1551 阅读 · 0 评论