黑马程序员技术交流社区

标题: 折半排序这块压力很大 [打印本页]

作者: 张三儿    时间: 2015-4-18 22:25
标题: 折半排序这块压力很大
看了即便了还是不懂
作者: 仅此一抹心醉    时间: 2015-4-18 22:48
我觉得我哪里都亚历山大
作者: fanxia_2007    时间: 2015-4-18 22:50
我也是压力山大
作者: wtjohn    时间: 2015-4-18 23:02
主要是看思路,不行拿张纸把每一次做了什么操作都写出来,这样写下来就清晰了
作者: xxingfang    时间: 2015-4-18 23:13
光看不敲代码是没用的,还是得多敲一敲代码。
作者: wj5877    时间: 2015-4-18 23:15
加油 努力些看
作者: lai19    时间: 2015-4-18 23:19
同感!感觉整个人都蒙了
作者: caotierong    时间: 2015-4-18 23:26
折半也叫二分法查找,是一种查找思想,思想理解了,代码就好写了
作者: yxnheima    时间: 2015-4-18 23:35
大家多一样啊。
作者: 懒的呼吸    时间: 2015-4-19 08:55
如果不理解,自己写一串无序的数字,然后用折半的思想去一次次的排序。折半就是关键字和中间的字进行比较,然后修改max和min的脚标。max和min理解成暂时的最大的,最小的。通过一次次修改脚标去找到查找的字。如果有兴趣可以看看数据结构
作者: fenglinluomu    时间: 2015-4-19 09:13
不理解的话尝试把代码敲个十几遍, 后面就理解了.
作者: 海带    时间: 2015-4-19 09:24
我来拿币的哈哈
作者: 黑夜的触手    时间: 2015-4-19 09:40
先把思路搞清楚了,再看代码就容易多了
作者: 吕晓阳    时间: 2015-4-19 09:45
主要是思路,代码尽量会写,真正需要排序时,没有人这样写的,用java提供大方法就可以了
作者: shw16888    时间: 2015-4-19 09:48
加油!!!
作者: 上善若水_Wx    时间: 2015-4-19 09:49
看看数据结构~~~~~~~~~~~~~~~~
作者: 平底斜    时间: 2015-4-20 00:23
动手自己写出一个无序数组,然后按着顺序编译一下,至少我看着代数似的代码不如看着真实的数字例子容易理解
作者: itheima_llt    时间: 2015-4-20 00:28
加油,拿出笔来画图比划比划
作者: yelebron    时间: 2015-4-20 00:46
还有很多中排序算法呢,折半算是简单的
作者: chniccs    时间: 2015-4-20 01:27
其实你可以这么想,就是你要找一个东西,然后不知道在哪。
那个东西在一排按从小到大这种有规律性的顺序排列起来的。你现在不知道你要找的到底是多大,所以只能把全部的都先选进来。
选进来之后,你觉得要先看看你要的东西是偏大还是偏小,所以就和最大和最小对比下,看离哪个近些。如果发现离最大的近些,就说明肯定是比平均值大的,所以你就知道比平均值小的就不用找了,忽略掉。
然后又因为平均值不等于(上述是考虑平均值不等于你要的那个值的)你要的那个值,然后为了尽可能的从更少的东西中找到你要的那个东西,就把平均值也去掉了,所以是MIN+1,从这个开始。
然后就是重复上面的的动作,直到最后,你要的那个值被圈定在一定的范围内,比如这个范围只有一个值了,那个就是你要找的。
我理解的大概就是这样的,你可以参考下。
作者: 怀念子龙    时间: 2015-4-20 09:01
先理解思想就OK了。
作者: 907888614    时间: 2015-4-20 11:52
binarysearch直接用这个。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2