Estructura De Datos En Java Joyanes Full !!better!! Review
Aquí tienes una propuesta para una entrada de blog interesante, estructurada y enfocada en el enfoque clásico y académico de Joyanes Aguilar.
Part I: Foundations
Example 2: Recursive Binary Search on a Sorted Array
public static <T extends Comparable<T>> int binarySearch(T[] arr, T target, int left, int right)
if (left > right) return -1;
int mid = (left + right) / 2;
int cmp = target.compareTo(arr[mid]);
if (cmp == 0) return mid;
if (cmp < 0) return binarySearch(arr, target, left, mid - 1);
return binarySearch(arr, target, mid + 1, right);
1. El Pilar de la Programación Orientada a Objetos (POO)
En los textos de Joyanes, antes de escribir una sola línea de código, se define el TAD (Tipo Abstracto de Datos). En Java, esto se traduce perfectamente en el uso de Interfaces. estructura de datos en java joyanes full
El enfoque Joyanes en Java se ve así:
// La abstracción (El "Qué hace"), tal como lo enseñaría Joyanes
public interface Pila<T>
void apilar(T elemento);
T desapilar();
T tope();
boolean esVacia();
// La implementación (El "Cómo lo hace")
public class PilaArray<T> implements Pila<T>
private T[] datos;
private int tope;
// ... implementación con arrays estáticos
¿Por qué esto es importante? Porque Joyanes insiste en que la estructura de datos es un contrato. Al usar interfaces en Java, respetamos el principio de encapsulamiento que él defiende en sus primeros capítulos. Aquí tienes una propuesta para una entrada de