page contents
Nen
Nen - 程序员

性别: 天津 - 天津市 注册于 2021-06-23

向TA求助
2850金币数
43180 经验值
1个粉丝
主页被访问 6233 次

3096 个回答

0 赞同

如何进行希尔排序?

希尔排序也称为“缩小增量排序”,它的基本原理如下:首先将待排序的数组元素分成多个子序列,使得每个子序列的元素个数相对较少,然后对各个子序列分别进行直接插入排序,待整个待排序序列“基本有序”后,最后再对所有元素进行一次直接插入排序。 具体步骤如下:选择一个步长序列t1,t2,…,tk,满足ti>tj(i<j),tk=1...

回答于 2021-10-09 16:14

0 赞同

如何进行堆排序?

堆是一种特殊的树形数据结构,其每个结点都有一个值,通常提到的堆都是指一棵完全二叉树,根结点的值小于(或大于)两个子结点的值,同时,根结点的两个子树也分别是一个堆。 堆排序是一树形选择排序,在排序过程中,将R[1…n]看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系来选择...

回答于 2021-10-09 16:09

0 赞同

各种排序算法有什么优劣?

(1)简单地说,所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,就称这种排序方法是稳定的,反之,就是非稳定的。例如:一组数排序前是a1, a2, a3, a4, a5,其中a2=a4,经过某种排序后a1, a2, a4,a3, a5,则说这种排序是稳定的,因为a2排序前在a4的前面,排序后它还是在a4的前面。假如变成a1...

回答于 2021-10-09 15:59

0 赞同

如何组合1,2,5这三个数使其和为100?

数字规律法针对这种数学公式的运算,一般都可以通过找出运算的规律进而简化运算的过程,对于本题而言,对x+2y+5z=100进行变换可以得到x+5z=100-2y。从这个表达式可以看出,x+5z是偶数且x+5z<=100。因此,求满足x+2y+5z=100组合的个数就可以转换为求满足“x+5z是偶数且x+5z<=100”的个数。 可以通过对z的所有可能的取值...

回答于 2021-10-09 15:56

0 赞同

如何判断还有几盏灯泡还亮着?

分析与解答:(1)对于每盏灯,当拉动的次数是奇数时,灯就是亮着的,当拉动的次数是偶数时,灯就是关着的。 (2)每盏灯拉动的次数与它的编号所含约数的个数有关,它的编号有几个约数,这盏灯就被拉动几次。 (3)1~100这100个数中有哪几个数,约数的个数是奇数?我们知道,一个数的约数都是成对出现的,只有完全平方数...

回答于 2021-10-09 15:51

0 赞同

如何从大量的url中找出相同的url?

分析解答:由于每个url需要占64个字节,所以50亿个url占用空间的大小为50亿×64=5G×64=320G字节。由于内存大小只有4G,因此不可能一次性把所有的url都加载到内存中处理。对于这个类型的题目,一般都需要使用分治法,即把一个文件中的url按照某一特征分成多个文件,使得每个文件的内容都小于4G,这样就可以把这个文件一次性读...

回答于 2021-10-08 11:40

0 赞同

如何从大量数据中找出高频词?

分析解答:由于文件大小为1G,而内存大小只有1M,因此不可能一次把所有的词读入到内存中处理,因此也需要采用分治的方法,把一个大的文件分解成多个小的子文件,从而保证每个文件的大小都小于1M,进而可以直接被读取到内存中处理。具体的思路为: (1)遍历文件,对遍历到的每一个词,执行如下Hash操作:Hash(x)%2000,将...

回答于 2021-10-08 11:38

0 赞同

如何找出访问百度最多的IP?

分析解答:由于这道题只关心某一天访问百度最多的IP,因此可以首先对文件进行一次遍历,把这一天访问百度的IP的相关信息记录到一个单独的文件中。接下来可以用上一节介绍的方法来求解。由于求解思路是一样的,这里就不再详细介绍了。唯一需要确定的是把一个大文件分为几个小文件比较合适。以IPv4为例,由于一个IP地址占用32...

回答于 2021-10-08 11:37

0 赞同

如何在大量的数据中找出不重复的整数?

分析解答:由于这道题目与前面的题目类似,也是无法一次性把所有数据加载到内存中,因此也可以采用类似的方法求解。 方法一:分治法 采用Hash的方法,把这2.5亿个数划分到更小的文件中,从而保证每个文件的大小不超过可用的内存的大小。然后对于每个小文件而言,所有的数据可以一次性被加载到内存中,因此可以使用hash_ma...

回答于 2021-10-08 11:36

0 赞同

如何在大量的数据中判断一个数是否存在?

分析解答:显然2.5亿个整数数据量太大,不可能一次性把所有的数据都加载到内存中,那么最容易想到的方法还是分治法。方法一:分治法 对于大数据相关的算法题,分治法是一个非常好的方法。针对这道题而言,主要的思路为:可以根据实际可用内存的情况,确定一个Hash函数,比如hash(value)%1000,通过这个hash函数可以把这2.5...

回答于 2021-10-08 11:33