HashMap en Java - Tutorial

HashMap en Java – Tutorial con ejemplos

En este post te mostraré algunas operaciones básicas para el manejo de HashMap en Java; por ejemplo, veremos cómo agregar elementos, eliminar elementos, recorrer el hasmap, saber si tiene determinado elemento y obtener un elemento.

Para recorrer el hashmap vamos a usar un foreach; y para las otras operaciones usaremos los métodos remove,  containsKey, containsValue, put y get.

(más…)

Árbol binario en C - struct nodo

Árbol binario en C – Inserción y recorrido

Resumen: implementar la estructura de datos de árbol, árbol binario, binary tree o simplemente tree en C y mostrar operaciones para:

  • Insertar un nuevo elemento u hoja
  • Recorridos inorden, postorden y preorden

Vamos a usar recursividad para algunas operaciones. Al insertar elementos vamos a compararlos para insertarlos a la izquierda si son menores que el nodo padre, o a la derecha en caso contrario.

(más…)

Ejercicio resuelto: semáforo con JavaScript

En este post veremos la solución a un ejercicio sencillo de JavaScript. Se trata de crear una función que regrese “amarillo”, “rojo”, o “verde” dependiendo del argumento que reciba indicando la luz encendida actualmente.

La función va a indicar cuál es la luz que debería encender de acuerdo a la que está encendida actualmente.

Si la luz es “rojo” entonces debe mostrar “verde”, si es “verde” debe mostrar “amarillo” y finalmente si es “amarillo” debe mostrar “rojo”.

Por cierto, este es un ejercicio de Codewars.

(más…)

Ver si elemento existe en arreglo de Ruby o buscar su índice usando index e include

Comprobar si elemento existe en arreglo o buscar índice en Ruby

En este post veremos dos cosas con arreglos y Ruby: cómo saber si un elemento existe en un arreglo, y cómo buscar u obtener el índice de un elemento dentro de un arreglo.

Saber si un elemento existe es útil cuando estamos haciendo una lista de valores que no se repiten, y buscar el índice funciona para cuando necesitamos hacer algo con un elemento en caso de que no exista.

Ver si elemento existe en arreglo de Ruby o buscar su índice usando index e include

Ver si elemento existe en arreglo de Ruby o buscar su índice usando index e include

Veremos dos funciones con Ruby y arreglos: index e include.

(más…)

Agregar y eliminar elementos de un arreglo en Ruby

Eliminar y agregar elementos a arreglo en Ruby

Hoy veremos algunas operaciones básicas con arreglos en Ruby. Se trata de agregar (operación push) elementos a un arreglo existente, así como de eliminar (pop o unshift) elementos de un arreglo a través del índice.

Los arreglos funcionan cuando tenemos que guardar una lista de elementos en memoria y se necesita manipularla.

Agregar y eliminar elementos de un arreglo en Ruby

Agregar y eliminar elementos de un arreglo en Ruby

Con Ruby hay muchas formas de agregar o quitar elementos de arreglos, veremos muchas de ellas.

(más…)

Eliminar clave de un diccionario con Python

Eliminar valor de diccionario en Python

Para adentrarnos más en el manejo de los diccionarios con Python hoy veremos cómo eliminar determinada clave de un diccionario; es decir, eliminar un dato de un diccionario.

Esto de los diccionarios se utiliza en WaterPy para mandar la ruta de la marca de agua y el directorio que se va a procesar.

Eliminar clave de un diccionario con Python

Eliminar clave de un diccionario con Python

Por eso es que hoy veremos una operación simple con Python: eliminar claves de un diccionario, y a su vez, eliminar los valores.

(más…)

Comprobar si diccionario tiene clave en Python

Comprobar si diccionario tiene determinada clave en Python

Los diccionarios en Python son útiles en muchas circunstancias. Por ejemplo, para eso de los args y kwargs, así como para usarlos como estructura de datos en donde se accede en un tiempo óptimo gracias a que podemos usar sus claves como índices para acceder a los mismos.

Comprobar si diccionario tiene clave en Python

Comprobar si diccionario tiene clave en Python

Hoy veremos algo muy simple en Python: comprobar si un diccionario tiene una clave, es decir, si tiene un dato en determinada clave o si cuenta con ella.

(más…)

Contar frecuencia de palabras que el usuario introduce

Contar frecuencia de palabras en C

Realizar conteo de ocurrencias de palabras en una oración con C

Ya estamos aquí con otro tutorial de C. Lo que haremos ahora será analizar una cadena o string, contar las palabras que tiene (ignorando puntos, espacios y signos) y luego agruparlas para indicar la frecuencia con la que se repiten.

Este ejercicio puede resolverse de varias maneras pero yo he decidido hacerlo a través de una pila en donde almacenaremos structs.

Aquí puedes ver un ejemplo de una pila de enteros, la modificaremos un poco para que funcione con structs.

¿Por qué una pila en lugar de un arreglo? muy fácil, porque la pila puede tener un tamaño infinito.

Al final generaremos una tabla como la que se ve en la imagen (aunque la frecuencia es 1 en la mayoría de veces, la función trabaja bien; el problema fue que la cadena de prueba no tenía muchas palabras repetidas):

Contar frecuencia de palabras de una oración con C

Contar frecuencia de palabras de una oración con C

 

(más…)

Pila dinámica en C

Implementación de una pila dinámica en C

Pila o stack dinámica en el lenguaje C

Una pila es una estructura de datos simple. Los datos se van apilando uno tras otro. Podemos abstraer cada elemento como un nodo que puede apuntar a otro nodo.

Su modo de acceso es LIFO: el último en entrar es el primero en salir. Las operaciones que tiene son 2: push y pop; la primera le pone un elemento y la segunda quita el último.

Pila dinámica en C

Pila dinámica en C

Veremos las operaciones básicas de una pila o stack en C; además de otras que hice para exponer aquí. Son:

  • Tamaño: devolver el tamaño de la pila
  • Apilar, también conocido como push: agregar un elemento
  • Desapilar, o la operación pop: quitar el último elemento; es decir, el elemento superior
  • Leer último: leer el elemento superior de la pila
  • Vacía: indica si la pila está vacía
  • Imprimir: recorrer la pila e imprimir sus valores

Por cierto, esta pila será dinámica: podremos poner elementos infinitos siempre y cuando nuestra memoria RAM alcance (cosa que es muy, muy difícil que ocurra)

(más…)