分块查找与折半插入排序查找部分的比较

本文深入探讨了分块查找与折半插入两种算法的实现细节,通过具体代码展示了如何进行有效的数据查找与排序。理解这两种算法的比较逻辑对于提高数据处理效率至关重要。

分块查找

	while (low <= high)
	{
		mid = (low + high) / 2;
		if (index[mid].key >= key)//有等于号,因为low,high相等时若使得low+1,则会在low+1处查找,而实际应该在mid处查找。因为low+1对象内的最小关键字会比mid处的值大。
			high = mid - 1;
		else
			low = mid + 1;
	}

	i = index[high + 1].low;

折半插入

		while (low <= high)
		{
			m = (low + high) / 2;
			if (r[m] > temp)//折半插入排序是稳定的,所以low,high相等时,r[m]=temp,temp应该插入到r[m]之后,若high-1,则会使得temp插入到r[m]之前
				high = m - 1;
			else
				low = m + 1;
		}

分析:只需比较记忆这两个即可,其他算法无此类比较

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃柚子的梨

你的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值