赞
踩
众所周知,计算机计算速度非常快而被人们加以使用,但计算速度再快的计算机,处理数据的能力也有一定限度,所以在处理大数据操作的时候,采用分治法可以有效的处理目前人类社会所遇到的大部分大数据问题。
分治法的主要思想就是将一个复杂的问题分成两个或多个相同的子问题,子问题可以分成更小的子问题,直到子问题可以容易解决的时候,原问题的解就是子问题解的和。
下面我们举一个例子,我们先解决一个简单的问题
例1 取任意一组从0~10的数,找出其中出现次数最多的数。
例如我们取一组数{1,2,3,5,6,8,7,4,5,2,1,5,4,8,9,6,3,2,1,2};只需输出其中出现次数最多的数即可。
这道问题不难解决,方法也很多,可以先将数据排序,然后找一样的个数,可是就算用快排,我们的时间复杂度也还是很大,在这么我们注意问题给的条件:一组0~10的数,没错,我们数据的选择范围是0~10,所以我们可以通过一个十个格子(0~9)大小的数组,来保存每个数字出现的次数,最后遍历比较一遍,将数组中最大的数的下标(即出现次数最多的数)返回即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。