Algorithmic Operations

Array Operations Step by Step

Traversal, linear search, insertion, and deletion in C, Java, JS, and Python.

SLIDE 1 / 6

1. Fundamental Array Operations

Basic operations include Traversal O(N), Linear Search O(N), Insertion O(N), and Deletion O(N).

TIME COMPLEXITIES
Acceso directo por índiceO(1)
Búsqueda LinealO(N)
Desplazamiento por InserciónO(N)

2. C: Búsqueda Lineal y Desplazamiento

En C la inserción requiere desplazar manualmente los elementos hacia la derecha para hacer espacio.

search.c
int buscar(int arr[], int n, int target) {
    for (int i = 0; i < n; i++) {
        if (arr[i] == target) return i; // Match
    }
    return -1;
}

3. Java: ArrayList y Operaciones API

`ArrayList<T>` encapsula un array redimensionable dinámicamente (`.add()`, `.remove()`, `.indexOf()`).

ArrayOps.java
List<Integer> list = new ArrayList<>();
list.add(10);
list.add(0, 5); // Inserción en índice 0
boolean existe = list.contains(10);

4. JavaScript: push, pop, shift, unshift, splice

JS cuenta con métodos nativos integrados para modificar el arreglo (`splice(index, deleteCount, item)`).

ops.js
const nums = [10, 30];
nums.splice(1, 0, 20); // Inserta 20 en pos 1 -> [10, 20, 30]

5. Python: insert(), remove(), index()

Las listas de Python ofrecen métodos expresivos para búsqueda e inserción en cualquier posición.

list_ops.py
data = [10, 30]
data.insert(1, 20) # Inserta en índice 1
idx = data.index(20) # Búsqueda

6. Linear Search Simulator

Searching for 30 in [10, 20, 30, 40]:

Search Trace: target = 30
Paso 1: Evaluar arr[0] == 10 ➔ No coincide. Avanzar.
Índice actual: 0