Los Temas más visitados de Algoritmia
Listado de los Temas más visitados durante los últimos 30 días
Implementación de los algoritmos de cota inferior, Quicksort, colas de Prioridad y Heapsort, Bucketsort, mergesort y ordenamiento externo.
Todos los que hemos programado con algun lenguaje de programacion sabemos lo dificil que “fue” o “es” comprender al 100% la recursividad. Asi que en este Articulo trataremos de explicarla de forma simple y detallada, al final veremos algun ejemplo pero lo que importa aqui sera la explicacion para que todos sepan como funciona, cuando implementarla y desarrollar tus propias ideas sobre el tema.
Este algoritmo es muy interesante porque no usa ninguna sentencia if, es decir, no hay ninguna condición, a excepción de los bucles. El algoritmo funciona mejor con una lista larga, de un solo elemento simple: no hay structs, y de números repetitivos. Es mejor que los números no se separen mucho entre sí; por ejemplo, el valor máximo sea de 10, y el mínimo de 1, aunque tengamos 10.000 entradas (o elementos). La desventaja de este algoritmo es la necesidad de almacenar muchos datos en memoria.
...De todas formas, los algoritmos recursivos son apropiados principalmente cuando el problema a resolver, o la función a calcular, o la estructura de datos a procesar, están ya definidos de forma recursiva.
Colección de 15 ejercicios resueltos. Algoritmos desarrollados en Pseudolenguaje. En formato pdf. Contiene 6 páginas.
Este artículo, más que un artículo se trata de una colección de los algoritmos "típicos" de ordenación, que siempre se estudian. Además, algunos algoritmos no sólo veremos su código, sino que también estudiaremos su complejidad y veremos distintos métodos de optimización de los mismos.
Documento muy interesante a través del cual se comparan diferentes algoritmos de ordenación desde un mismo array dado. En formato pdf. Contiene 28 páginas.
En programación, un algoritmo establece, de manera genérica e informal, la secuencia de pasos o acciones que resuelve un determinado problema y, para representarlo, se utiliza, fundamentalmente, dos tipos de notación: pseudocódigo y diagramas de flujo.
Así pues, en este artículo, voy a explicar, con un ejemplo, los pasos que "mentalmente" se pueden seguir para diseñar el algoritmo, en Pseudocódigo CEE (C En Español) y ordinograma, de un programa que dé solución a un problema de programación.
Teoria de la indexación mediante la implementación con arboles.
Colección de algoritmos de ordenamiento: Burbuja, Inserción, Shell, Montículo, Mezcla y QSort.
Código y explicación del Algoritmo de Hamming. En formato html.
Artículo sobre la solución del Problema de Asignación de Horarios con Vértice-Coloración de grafos.
Se dice que algo es recursivo si se define en función de sí mismo o a sí mismo. También se dice que nunca se debe incluir la misma palabra en la definición de ésta. El caso es que las definiciones recursivas aparecen con frecuencia en matemáticas, e incluso en la vida real. Un ejemplo: basta con apuntar una cámara al monitor que muestra la imagen que muestra esa cámara. El efecto es verdaderamente curioso, en especial cuando se mueve la cámara alrededor del monitor.
Articulo en el que se describen los principales algoritmos de ordenamiento existentes. Contiene ejemplos de los mismos.
Un array es un tipo de estructura de datos que consta de un número fijo de elementos del mismo tipo. En una máquina, dichos elementos se almacenan en posiciones contiguas de memoria. En este artículo se explica todo lo referente para conocer más a fondo los Arrays.
Definiciones básicas, recorridos de grafos, arboles cobertores mínimos, distancias mínimas en un grafo dirigido. Explicación de los algoritmos de Kruskal, Prim, Dijkstra, Floyd y Warshall
El estudio de grafos es una rama de la algoritmia muy importante. Estudiaremos primero sus rasgos generales y sus recorridos fundamentales, para tener una buena base que permita comprender los algoritmos que se pueden aplicar.
Transparencias correspondientes a la asignatura de Ingeniería Informática curso 2001-2002. Contiene 29 transparencias.
El problema de asignación de horarios consiste en asignar a una serie de asignaturas unos horarios. La dificultad reside en que los asignaturas se deben impartir ocupando el menor tiempo posible, haciendo que no se pisen unas asignaturas con otras, teniendo en cuenta los alumnos matriculados en éstas.
Así conseguiremos crear un horario para todas las asignaturas sin que coincidan unas a otras y asegurando que los alumnos puedan asistir a las asignaturas que han elegido sin perderse ninguna.
Una cola es una estructura de datos de acceso restrictivo a sus elementos. Un ejemplo sencillo es la cola del cine o del autobús, el primero que llegue será el primero en entrar, y afortunadamente en un sistema informático no se cuela nadie salvo que el programador lo diga.
Estamos tan acostumbrados a ver los polinomios expresados como suma de monomios, que cuando tenemos que implementar un algoritmo para evaluarlos tendemos a interpretar tal cual la expresión y a codificarla tal y como lo haríamos a mano con ayuda de una calculadora. Este articulo de explica detalladamente el funcionamiento del algoritmo de Horner.
Todo lo que hay que saber acerca de los algoritmos de búsqueda, lo encontraréis aquí.
Una pila es una estructura de datos de acceso restrictivo a sus elementos. Este articulo define y explica sus funciones y características.
Para procesar información en un computador es necesario hacer una abstracción de los datos que tomamos del mundo real -abstracción en el sentido de que se ignoran algunas propiedades de los objetos reales, es decir, se simplifican-. Se hace una selección de los datos más representativos de la realidad a partir de los cuales pueda trabajar el computador para obtener unos resultados. Cualquier lenguaje suministra una serie de tipos de datos simples, como son los números enteros, caracteres, números reales. En realidad suministra un subconjunto de éstos, pues la memoria del ordenador es finita. Los punteros (si los tiene) son también un tipo de datos. El tamaño de todos los tipos de datos depende de la máquina y del compilador sobre los que se trabaja. En principio, conocer la representación interna de estos tipos de datos no es necesaria para realizar un programa, pero sí puede afectar en algunos casos al rendimiento.
Métodos de seccionamiento. Incluye hashing, listas y todo lo relacionado con el seccionamiento.
Implementación de conjuntos con listas enlazadas.
Algoritmo para el procesado de imágenes que es capaz de eliminar el ruido de una imagen sin que la imagen pierda calidad ni nitidez. También tiene otras aplicaciones, como por ejemplo eliminar un texto que haya superpuesto sobre una imagen.
Un estudio sobre la implementación recursiva del tipo abstracto Árbol AVL en C
Este artículo informa sobre los pasos a tener en cuenta a la hora de desarrollador una solución algoritmica. Además explica el significado de algunos conceptos básicos de la programación.
Todo lo que hay que saber acerca de los árboles-B lo encontrarás en este artículo. Incluye su implementación en C++