已安装PyCharm 2017.3(或以上版本的)软件;
已掌握“[Python3] 列表的基本用法[TZZ]”;
启动PyCharm软件,新建一个名为“AlgorithmDemo1”的“Pure Python项目”。项目创建完毕后,向项目中添加一个名为“main”的Python文件;
在“main.py”文件中,根据“二分查找算法”的描述,实现一个名为“binary_search_asc”的二分查找函数。在该函数中,通过while循环和调整下次搜索列表的起始索引实现下一次二分查找任务(注:搜索左侧或右侧列表实际只要改变列表下标即可);
继续向“main.py”文件中添加测试代码。在这份代码中,随意定义了一个列表,然后将其按升序排序,随后调用binary_search_asc函数查找列表中的每个元素。代码编写完毕后,调试运行程序。在弹出的“Console”窗口中(将Console面板设置为“Windowed Mode”),可以见到输出的查找结果。可以与原列表比对确定代码是否编写正确;
关闭“Console”窗口返回到“main.py”文件中,继续添加“通过二分查找法在testList列表中查找从-10到10的元素位置”。代码编写完毕后,调试运行程序。在弹出的Console窗口中,可以见到输出的查找结果;
关闭Console窗口,返回到“main.py”文件中,定义一个名为“binary_search_dec”的二分查找函数。与“binary_search_asc”函数不同的是,该函数需要一个已降序排序的列表作为输入。在实现此函数时,需要注意下一个搜索列表的起始索引必须设置正确;
继续添加binary_search_dec函数的测试代码,然后调试运行程序。在弹出的Console窗口中,可以见到二分查找的结果列表;
继续添加binary_search函数的测试代码,然后调试运行程序。在弹出的Console窗口中,可以见到正确的查找结果列表;
至此,二分查找算法的代码已编写完毕!下一遍,我们一起研究一下“简单查找”和“二分查找”的快慢问题。Enjoy!