如果记录存在,不存在或有时存在,您如何计算顺序搜索的访问次数?
二进制搜索怎么样?
答案 0 :(得分:0)
嗯,首先你想象(或者在纸上绘画,如果像我一样,你是想象力挑战的)一系列要搜索的东西 - 保持简单,使其成为有序的整数列表。然后,想一个整数。将你的铅笔(或思想)放在列表中的第一个元素上,一方面弯曲拇指并自己计数1。如果第一个元素是你想要的那个,在另一张纸上写一个1,选择另一个数字然后重新开始。如果第一个数字不是你想要的那个,那么你的铅笔会沿着一个数字移动,数量为2并弯曲手上的食指。继续,直到找到您要查找或不查找的号码。
重复此过程,直到您感到无聊或意识到问题的答案是什么。请不要认为这是一个讽刺性的评论,它旨在教你如何解决这类问题。
对于二分查找,请查看列表中间的元素。数1.这是你要找的元素吗?如果不是它比您正在寻找的元素大?如果是,则查看列表左侧的中间,否则查看列表右侧的中间元素。重复并计数,直到找到您要查找的元素。
使用铅笔和纸张完成一些示例是了解计算机正在做什么的好方法。而且,根据经验,当你发现自己以这种方式调试一些非常棘手的代码时,这一天就会到来,所以如果你从事专业的编程,它将会对你有所帮助。