[Python3算法(1)] 二分查找算法[TZZ]

2024-11-15 14:14:07

1、启动PyCharm软件,新建一个名为“AlgorithmDemo1”的“Pure Python项目”。项目创建完毕后,向项目中添加一个名为“main”的Python文件;

[Python3算法(1)] 二分查找算法[TZZ][Python3算法(1)] 二分查找算法[TZZ][Python3算法(1)] 二分查找算法[TZZ]

2、在“main.py”文件中,根据“二分查找算法”的描述,实现一个名为“binary_search_asc”的二分查找函数。在该函数中,通过while循环和调整下次搜索列表的起始索引实现下一次二分查找任务(注:搜索左侧或右侧列表实际只要改变列表下标即可);

[Python3算法(1)] 二分查找算法[TZZ]

3、继续向“main.py”文件中添加测试代码。在这份代码中,随意定义了一个列表,然后将其按升序排序,随后调用binary_search_asc函数查找列表中的每个元素。代码编写完毕后,调试运行程序。在弹出的“Console”窗口中(将Console面板设置为“Windowed Mode”),可以见到输出的查找结果。可以与原列表比对确定代码是否编写正确;

[Python3算法(1)] 二分查找算法[TZZ][Python3算法(1)] 二分查找算法[TZZ]

4、关闭“Console”窗口返回到“main.py”文件中,继续添加“通过二分查找法在testList列表中查找从-10到10的元素位置”。代码编写完毕后,调试运行程序。在弹出的Console窗口中,可以见到输出的查找结果;

[Python3算法(1)] 二分查找算法[TZZ][Python3算法(1)] 二分查找算法[TZZ]

5、关闭Console窗口,返回到“main.py”文件中,定义一个名为“binary_search_dec”的二分查找函数。与“binary_search_asc”函数不同的是,该函数需要一个已降序排序的列表作为输入。在实现此函数时,需要注意下一个搜索列表的起始索引必须设置正确;

[Python3算法(1)] 二分查找算法[TZZ]

6、继续添加binary_search_dec函数的测试代码,然后调试运行程序。在弹出的Console窗口中,可以见到二分查找的结果列表;

[Python3算法(1)] 二分查找算法[TZZ][Python3算法(1)] 二分查找算法[TZZ]

7、关闭Console窗口返回到“main.py”文件中,继续定义一个“binary_search”函数,该函数内置了排序功能,因此,可以直接传入一个未排序的列表。该函数中除了排序代码之外,其他代码均与binary_search_asc函数相同;

[Python3算法(1)] 二分查找算法[TZZ]

8、继续添加binary_search函数的测试代码,然后调试运行程序。在弹出的Console窗口中,可以见到正确的查找结果列表;

[Python3算法(1)] 二分查找算法[TZZ][Python3算法(1)] 二分查找算法[TZZ]

9、至此,二分查找算法的代码已编写完毕!下一遍,我们一起研究一下“简单查找”和“二分查找”的快慢问题。Enjoy!

猜你喜欢