Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Trabajo Selección PDF
Trabajo Selección PDF
Integrantes:
Profesora:
Materia:
Estructura de Datos II
Grupo:
9SL-121
Semestre:
III
Año:
2023
Índice
Contenido Pag.
Presentación 1.
Introducción 2.
Índice 3.
conclusión 11.
un algoritmo de selección es un algoritmo para encontrar el k-ésimo menor número en una lista o
vector; a este número se le llama estadístico de orden k. Este incluye los casos de encontrar el
mínimo, máximo, y la mediana. Existen algoritmos de selección O(n) (lineal en el peor caso), y
algoritmos sub-lineales son posibles para datos estructurados; en el caso extremos, O(1) para un
vector de elementos ordenados. La selección es un subproblema de otros problemas más
complejos, como el problema de la búsqueda del vecino más cercano y problema del camino más
corto. Muchos algoritmos de selección son derivados por generalización de algún algoritmo de
ordenación, y recíprocamente algunos algoritmos de ordenación pueden derivarse de repetidas
aplicaciones de selección.
El caso más simple de un algoritmo de selección es encontrar el mínimo elemento por iteración a
través de la lista, manteniendo un registro del mínimo en cada paso de la iteración, y puede verse
relacionado al selection sort. Por el contrario, el caso más complejo de un algoritmo de selección es
encontrar la mediana, y este necesariamente necesita n/2 memoria. De hecho, un algoritmo de
selección especializado para la mediana puede ser usado para realizar un algoritmo de selección
general, como en median of medians. El algoritmo de selección más conocido es quickselect, el cual
está relacionado al quicksort; como el quicksort, tiene (asintóticamente) rendimiento óptimo en la
media de los casos, pero mal rendimiento en el peor caso, no obstante puede ser modificado para
dar rendimiento óptimo en el peor caso también.
Optimización de algoritmos de
selección
Aplicaciones
1. Árboles: En un árbol, cada nodo puede tener varios nodos hijos. Para seleccionar un
elemento específico en un árbol, puedes utilizar técnicas de recorrido como el recorrido en
profundidad (DFS) o el recorrido en anchura (BFS) para buscar y acceder al elemento
deseado.
2.Grafos: En un grafo, los elementos se representan mediante nodos y las relaciones entre ellos
mediante aristas. Para seleccionar un elemento específico en un grafo, puedes utilizar algoritmos
de búsqueda como la búsqueda en profundidad (DFS) o la búsqueda en anchura (BFS) para
encontrar el nodo deseado.
3.Tablas hash: En una tabla hash, los elementos se almacenan en función de su clave y se puede
acceder a ellos rápidamente mediante esta clave. Para seleccionar un elemento específico,
necesitas conocer su clave y utilizarla para buscar en la tabla hash.
Estos son solo algunos ejemplos, ya que existen muchas más estructuras de datos con
diferentes formas de seleccionar elementos específicos. Cada estructura de datos tiene sus
propias operaciones y métodos para acceder y seleccionar elementos según su diseño y
funcionalidad específicos.
estructuras de datos lineales
1.Matriz (mesa):
Una matriz es una estructura de datos lineal que almacena elementos en ubicaciones consecutivas de
la memoria. -- Para una selección eficiente en la matriz, se puede acceder directamente al elemento que
se busca mediante su índice. Ventajas: acceso directo a los elementos, permite una selección rápida
con complejidad O(1). Buen rendimiento para volúmenes de datos fijos. Desventaja: el tamaño fijo de la
matriz es inelástico. La inserción o eliminación de elementos puede requerir la reorganización de la
matriz.
2. Lista enlazada:
Una lista enlazada es una estructura de datos lineal en la que cada elemento (nodo) contiene un valor y
un puntero en el siguiente nodo. - Para una selección efectiva de una lista enlazada, puede navegar por
la lista hasta que encuentre el elemento que desee. - Ventajas: inserción y supresión eficientes, porque
sólo es necesario actualizar los punteros. Buena flexibilidad en lo que respecta al tamaño de los datos.
Desventaja: acceso secuencial a los elementos, resultando en una selección lenta, complejidad O(n) en el
peor caso.
3. Batería:
La pila es una estructura de datos lineal que sigue el principio LIFO (Last In First Out), donde se añaden
y eliminan elementos del mismo extremo (arriba). - Para una selección eficiente en paquetes, los
artículos se pueden apilar hasta que se llegue al elemento deseado. Ventaja: inserción y eliminación
eficientes en la parte superior de la pila. Útil para tareas que requieren el seguimiento del historial o la
cancelación de pedidos. Desventaja: la selección en una posición arbitraria es ineficaz. El acceso a un
elemento en medio puede requerir apilar elementos adicionales, dando lugar a una complejidad O(n).
4. Cola:
-- Una cola es una estructura de datos lineal que sigue el principio FIFO (First In First Out), donde los
elementos se añaden por último y se eliminan primero. - Para una selección eficiente de la cola, se
pueden eliminar elementos de la cola hasta que se llegue al elemento deseado. Ventajas: inserción y
eliminación eficientes en ambos extremos de la cola. Útil para tareas a procesar por orden de acceso.
Desventaja: la selección en una posición arbitraria es ineficaz. El acceso a un elemento en una posición
intermedia puede requerir que se eliminen elementos adicionales de la cola, lo que provoca
complicaciones.
En conclusión, elegir una estructura de datos lineal para realizar una selección eficaz depende del
contexto y de los requisitos específicos. Las matrices están bien para el acceso directo pero no son muy
flexibles. Proporcione una lista enlazada
conclusión
Referencias bibliográficas
http://repobib.ubiobio.cl/jspui/bitstream/123456789/3820/1/Gutierre
z_Contreras_V%C3%ADctor.pdf