Propiedades de definiciones recursivas
o algoritmos
Un
requisito que es de suma importancia
para que un algoritmo recursivo sea correcto es que no genere una
secuencia infinito de llamadas sobre si mismo, es claro que cualquier algoritmo que genere esta secuencia no terminara
nunca.
Un
ejemplo de esto es, la parte no recursiva de el factorial 0!=1.
5.2.6 Búsqueda
Considérese
un arreglo de elementos en el cual los objetos sean colocados en cierto orden.
Tomando de ejemplo, un directorio puede considerarse un arreglo cuyas entradas
se encuentran en orden alfabético, pretendemos buscar un nombre el directorio, el proceso usado para encontrar
esta entrada se llama búsqueda.
En
la búsqueda secuencial o lineal, en la cual se examina cada elemento del arreglo
uno a la vez y se compara con el elemento buscado hasta que ocurra una
coincidencia. Si la lista no se encuentra en orden y se desarrollo nada mas al
azar, la búsqueda lineal puede ser la única forma de encontrar algo ( a menos
que la lista se reordene primero). Aunque este método nunca se utilizaría para
buscar un nombre en el directorio, solo se abre el directorio en una pagina y
se examina los nombre que se encuentran. Como los nombres están de forma
ordenada (alfabéticamente), esto determina si la búsqueda debe continuar es la
primera o segunda sección.
Si
en el arreglo solo se encuentra contenido un elemento la búsqueda es serial.