[递归]
递归方法(recursion methods)简单地说就是直接或间接地调用自己的方法。比如这就是一个最简单的递归方法:
public void recursion() {
recursion();
}
[排序]
AP不会直接让我们写一个排序算法,因此我们只需要理解几个排序算法的异同之处就可以了。
选择排序(selection sort) 就是首先在数组中找到最小的一个值放在第一位,然后再找次小的放到第二位,以此类推一直到n-1次排序后,就能够得到一个递增的数列了。
插入排序(insertion sort) 简单地说就是将需要排序数据一个一个插入一个原本排列好的数组的对应位置。一开始完全混乱的情况下,我们把第一个数据当做一个排序号的数组。之后将第二个数据和这个数组比对,看看应该插入在哪。在插入完之后,我们就得到了一个有两个元素的排序好的数组。之后再将第三个数据插入在前面排序好的数组的对应位置。之后以此类推,直到全部排序完为止。
归并排序 (merge esort) 是一种递归排序,它将数组拆成几个小的单元,之后对小的单元进行排序。然后再把小的单元组合在一起再进行排序。 它的缺点十分明显:它需要储存一个跟原始数组一样长的数据。它还有个显著特点,就是排序时间不受原本数据排序的影响,不论是最好的情况还是最坏的情况。
[搜索]
搜索(searching)在这里指的是从数组中找出指定的内容所在的位置,同样的,对于AP,我们只需要理解几个搜索算法的意义和异同即可。
顺序搜索(sequential searching) 就是把数组从头到尾搜索一遍,直到找到所要找的元素或者搜索完所有元素为止。
二叉搜索(binary search) 是一种高效率的检索方法。将搜索范围逐渐一步一步二分(分为两部分)减小到只剩下一个。