中等硬度问题
来源:互联网 发布:java需求分析文档 编辑:程序博客网 时间:2024/05/02 01:44
有N个物体,编号1~N,已知N为奇数,所有物体硬度未知且各不相同。现在要找硬度值为中位数的这个物体。
只提供一个比较方法:Med3,这个方法将三个不同物体编号作为参数,返回三者中间硬度的编号。
方法1:每次将三个物体进行比较,用a和b代表此次比较非中间硬度的两个物体的编号,并持续将后边的物体加入比较,最后可知a和b必然不是中间硬度物体,可以除去。每次这样的操作可以去除两个物体,进行N-2次即找到答案,复杂度是O(n2)。
方法2:取a1和a2作为基准,将所有其余物体与a1,a2比较,分为三类:a1左边、中间、a2右边。答案只能是a1、a2或者三类之一,然后递归在子分类中进行查找即可。注意如果确定是在a1左边这个类,需要把a2传下去来确定子类中的左右顺序。复杂度是O(nlogn)。
- 中等硬度问题
- 鸡蛋的硬度问题
- MAPX在C++BUILDER中等研究问题
- TC中等待测试对象的问题
- 网页中等待数秒才能点击的问题
- 92.Backpack-背包问题(中等题)
- 鸡蛋硬度测试
- openjudge7627 鸡蛋的硬度
- 洛氏硬度
- 鸡蛋的硬度
- 鸡蛋的硬度
- OpenJudge7627 鸡蛋的硬度
- 引导“中等生”“有序地思考问题的本质”
- 关于linux内核中等待队列的问题!
- 33.N-Queens-N皇后问题(中等题)
- 125.Backpack II-背包问题 II(中等题)
- 564.Backpack VI-背包问题 VI(中等题)
- [中等] 动态规划经典-堆石子问题
- CentOS6.3无网安装gcc g++
- error C1189:#error:This file requires _WIN32_WINNT to be #defined at least to 0x0403
- 多线程同步条件变量
- What is Device Pinning?
- Easyui之Datagrid编辑器Editor扩展(timespinner)
- 中等硬度问题
- 【按姓氏笔画在word上排列名单的2个小伎俩_乡巴佬下载】
- VS2010添加类失败问题,弹出错误框,提示 CodeModel操作失败,无法访问标记数据库
- 指针辨析:悬垂指针、哑指针、野指针、智能指针
- JUnit4 详解
- mysqlhotcopy 命令详解
- Flex开发ArcGIS问题集锦九:怎样使用QueryTask执行空间查询和属性查询
- linux内核cdev_init系列函数(字符设备DS18B20的注册)
- Android WebView常见问题的解决方案总结----例如Web page not available