全文共2230字,预计学习时长6分钟
图源:unsplash
在向萌新介绍计算机科学时,教授基本算法可能是最具挑战性的部分之一。它介于假设性问题和抽象性思维之间,十分棘手。但或许可以不必这么困难。有一个小众的观点:只要能清晰地构造问题,任何一位善于思考的人都可以对一个基本算法问题提出优秀的解决方案。
不相信吗?可以找一个朋友试验一下。我敢打赌,即使他们没有任何技术背景,最后他们也能开发出一个二分法检索的算法,并且理解这个概念。
传统意义上的二分法检索问题
以下是Geeks for Geeks上给出的二分法检索的定义:“给定一个包含n个元素的排序数组arr[],编写一个函数来搜索arr[]中的给定元素x。”
即使我是软件工程专业,但读到这里时依然会头疼。如果用这么复杂的语言来讲述,听者保证会一只耳朵进,另一只耳朵出。不要这么做。
构造好问题是成功的一半。如果想用一种不那么专业的方法来提问二分法检索问题,以下是一种很好的方法:“你有一大盒一模一样的鸡蛋,想要测试这些