Un árbol AVL llamado así por las iniciales de sus inventores, (Adelson-Velskii y Landis) es un árbol binario de búsqueda en el que para cada nodo, las alturas de sus subárboles izquierdo y derecho no difieren en más de 1.
dadas las siguientes letras (h, f, c, e, d, a, g, i, z), generar el AVL indicando cada una de sus rotaciones, para obtener un árbol equilibrado.

Recursividad: técnica de programación que puede ser usada en lugar de la iteración
Ejemplo para imprimir un patrón como este:
#include<stdio.h>
void imprime(int n,int a, int b){
int i,j;
if(n>0){
for(i=0;i<n;i++)
printf(” “);
for(j=0;j<a;j++)
printf(“*”);
printf(“\n”);
imprime(n-1,a+2,b);
}
}
int main (void){
int t=1,t2;
imprime(10,t,t2);
return (0);
}
Buscando en mis archivos encontré esto relacionado con archivos, hace un tiempo atrás en el ramo de Sistemas Operativos y Taller nos pidieron lo siguiente: simule el copy de windows y el cp de Linux. Es decir, su programa debe copiar de un lugar a otro un archivo tanto de texto plano como binario. el resultado lo dejo acá:
Un arreglo, es un conjunto de variables del mismo tipo que pueden ser referenciadas a través de un mismo nombre. La forma de identificar a un elemento determinado es a través de un índice.
La declaración: int arreglo[100];
indica al compilador a que reserve una cantidad de memoria suficiente para almacenar 100 entidades enteras y referirse a esa memoria a traves del identificador arreglo. Es buen estilo de programación referenciar al arreglo a través de una constante simbólica:
int arreglo[N];
#define N 100
// acá dejo un programa que nos muestra el uso de arreglos en c: arreglo en c
acá dejo algunos de los programas que me fueron útiles en estructura de datos, espero que sea de ayuda para quienes comienzan con este tema
de ellos destaco: