Archivo de la etiqueta: estructuras de datos

Algoritmos y Estructuras de Datos Fundamentales en Pseudocódigo

Algoritmos de Ordenación

Ordenación por Inserción (Insertion Sort)

Procedimiento Ins


procedimiento Ins (var T[1..n])
    para i := 2 hasta n hacer
        x := T[i];
        j := i - 1;
        mientras j > 0 y T[j] > x hacer
            T[j+1] := T[j];
            j := j - 1
        fin mientras;
        T[j+1] := x;
    fin para
fin procedimiento

Ordenación por Selección (Selection Sort)

Procedimiento Sel


procedimiento Sel (var T[1..n])
    para i := 1 hasta n-1 hacer
        minj := i; Seguir leyendo “Algoritmos y Estructuras de Datos Fundamentales en Pseudocódigo” »

Optimización de Búsqueda Binaria y Funciones Hash en Estructuras de Datos

Búsqueda Binaria

Código: binaria(int A[], int clave, int inf, int sup) {

%IMAGE_1%

Al ser recursivo, hemos de actualizar límites. If (inf > sup) Return -1; Medio = (inf + sup) / 2; If (clave < A[medio]) Return binaria(A, clave, medio + 1, sup); Return medio;

Ejemplo: %IMAGE_2%

Busca el %IMAGE_3% y el %IMAGE_4%. El orden de llamada es: binaria(A, 25, 0, 8), binaria(A, 25, 5, 8). La función devuelve 6.

El orden de llamada es binaria(A, 7, 0, 8), binaria(A, 7, 0, 3), binaria(A, 7, 2, 3), binaria( Seguir leyendo “Optimización de Búsqueda Binaria y Funciones Hash en Estructuras de Datos” »

Fundamentos de la Programación y Estructuras de Datos

Ordenador: Herramienta capaz de llevar a cabo una tarea, siguiendo un algoritmo que le indique, con la mayor precisión posible, lo que debe hacer.

Programas: Secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones para las que han sido creadas. Para escribir un programa se utilizan distintos lenguajes, llamados lenguajes de programación. Se escriben en código fuente: Instrucciones que deben ser ejecutadas a fin de realizar las acciones para las que Seguir leyendo “Fundamentos de la Programación y Estructuras de Datos” »

Fundamentos de la Programación: Datos, Operadores y Estructuras

Dato: Es toda información característica, susceptible de tratamiento informático. La forma en que se clasifican establece la estructura y forma de los datos así como su representación en el lenguaje de programación.

Sistemas y Códigos de Numeración

El hombre se expresa alfabéticamente con el idioma y decimalmente en vista numérica. El ordenador realiza ambas acciones en binario.

Sistemas de Numeración

Conjunto de símbolos y reglas que se utilizan para representar datos numéricos. Se caracterizan Seguir leyendo “Fundamentos de la Programación: Datos, Operadores y Estructuras” »

Estructuras de Datos y TAD: Diferencias, Encapsulamiento y Calidad del Software

Diferencias entre Estructuras de Datos y Tipos Abstractos de Datos (TAD)

Estructuras de Datos

Una estructura de datos es un método de almacenamiento de datos en la memoria de un ordenador. Ejemplos incluyen enteros, matrices y pilas. En definitiva, es cualquier forma de almacenar información en la memoria del ordenador.

Los programas que usan estructuras de datos, sin la abstracción de los TAD, pueden ser complejos.

Tipo Abstracto de Datos (TAD)

Un Tipo Abstracto de Datos (TAD) es una colección Seguir leyendo “Estructuras de Datos y TAD: Diferencias, Encapsulamiento y Calidad del Software” »

Explorando Autómatas, Listas, Recursividad, Pilas y Colas en Programación

Autómatas y Control Lógico Programable

El término PLC, de amplia difusión, significa Controlador Lógico Programable. Originalmente se denominaban PCs (Programmable Controllers), pero, con la llegada de las IBM PCs, para evitar confusión, se emplearon definitivamente las siglas PLC.

La definición más apropiada es: Sistema Industrial de Control Automático que trabaja bajo una secuencia almacenada en memoria, de instrucciones lógicas.

Es una máquina electrónica programable capaz de ejecutar Seguir leyendo “Explorando Autómatas, Listas, Recursividad, Pilas y Colas en Programación” »

Implementación Eficiente de TDA Cola: Optimización de Procedimientos y Almacenamiento

TDA Cola

Implementación de TDA Cola que prioriza velocidad de procedimiento

CONST
max = 10

TIPO
t_cola = registro
contenedor = array[1…max] de tipo_dato
e, s = entero
fin_registro

VAR
cola = t_cola

e: posición en la que debe ingresar el nuevo elemento
s (frente): posición de la cual se debe extraer un elemento

Proc. inicializar_cola (var cola: t_cola)
INICIO
cola.e = 1
cola.s = 1
FIN

Función cola_vacia (cola: t_cola): lógico
INICIO
cola_vacia = (cola.s = cola.e)
FIN

Proc. agregar_cola (var cola: t_cola, nuevo: Seguir leyendo “Implementación Eficiente de TDA Cola: Optimización de Procedimientos y Almacenamiento” »

Algoritmos de Ordenación y Estructuras de Datos en Informática

Algoritmos de Ordenación

En esta sección, exploraremos varios algoritmos de ordenación comunes y sus características.

Algoritmo de la Burbuja

En el algoritmo de la burbuja, recorremos todo el array desde las primeras posiciones y vamos comparando el primer elemento con el siguiente. Si es mayor, los intercambiamos; si es menor, lo dejamos como está y pasamos al siguiente elemento, realizando las mismas comparaciones. En cada iteración, el elemento más «pesado» queda ordenado. El número de veces Seguir leyendo “Algoritmos de Ordenación y Estructuras de Datos en Informática” »

Conceptos Fundamentales de Programación en C: Ejercicios Resueltos

Conceptos Fundamentales de Programación en C: Ejercicios Resueltos

Macros en C

Se utiliza #define para incluir una macro.

  • Ejemplo 1: #define PI 3.14 (Macro constante, donde PI es el nombre y 3.14 su valor).
  • Ejemplo 2: #define R(x,y) x*y (Macro con argumentos, donde R es el nombre, x e y los argumentos y x*y el valor).

Funciones en C

Una función se declara como:

int func(int *i) {
if (i == NULL)
return 0;
return *i;
}

Y se utiliza en un programa como:

int *i = malloc(sizeof(int));
*i = 1;
printf( Seguir leyendo “Conceptos Fundamentales de Programación en C: Ejercicios Resueltos” »

Implementación de Listas Enlazadas, Dobles y Pilas en C: Ejemplos Prácticos

Implementación de Listas Enlazadas Simples en C

Las listas enlazadas son una estructura de datos fundamental en informática. Permiten almacenar una colección de elementos de forma dinámica, donde cada elemento apunta al siguiente elemento de la lista. A continuación, se presenta un ejemplo de implementación de listas enlazadas simples en C.

«`c #include #include

typedef struct _nodo { int valor; struct _nodo *siguiente; } tipoNodo;

typedef tipoNodo *pNodo; typedef tipoNodo *Lista;

/* Funciones Seguir leyendo “Implementación de Listas Enlazadas, Dobles y Pilas en C: Ejemplos Prácticos” »