对分搜索有什么提示吗?

2024-10-02 06:33:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我不想要答案。有人能给我一个如何解决这个问题的提示吗?谢谢。你知道吗

练习10
要检查单词是否在单词列表中,可以使用in运算符,但它会很慢,因为它会按顺序搜索单词。 因为单词是按字母顺序排列的,所以我们可以通过对分搜索(也称为二进制搜索)来加快搜索速度,这类似于在字典中查找单词时所做的操作。从中间开始,检查要查找的单词是否在列表中间的单词之前。如果是这样的话,您可以用同样的方法搜索列表的前半部分。否则你就搜索下半场。你知道吗

无论哪种方式,您都将剩余的搜索空间减半。如果单词列表中有113809个单词,则需要大约17个步骤才能找到该单词或得出该单词不存在的结论。你知道吗

编写一个名为in\u bisect的函数,该函数接受一个已排序的列表和一个目标值,并返回列表中该值的索引(如果有),如果没有,则返回None。你知道吗


Tags: 方法函数答案in列表字典字母方式
1条回答
网友
1楼 · 发布于 2024-10-02 06:33:18

有一个python库可以实现这一点:bisect库。你知道吗

在这种情况下需要一种通用的编程范式。考虑到你遇到的问题,我猜这个范例已经在课堂上讨论过了。它以“r”开头。你知道吗

一旦你得到它,它会显得很酷。你知道吗

相关问题 更多 >

    热门问题