Al final, exactamente en la última línea, parece ser que hay un error:
Queue ADT
isFull() – Retorna true si la cola está vacía, si no, retorna false. // Debe decir que retorna true si la cola está llena…
Bienvenido al Curso
Introducción al curso básico de algoritmos y estructuras de datos
Introducción a los algoritmos
¿Qué entiende una computadora?
Lenguajes de programación
Estructuras de datos
¿Qué es un algoritmo?
Metodología para la construcción de un algoritmo
Variables y tipos de datos
User defined data types
Instalando Ubuntu Bash en Windows
Creando nuestro user defined data type
Abstract Data Types básicos: Lists, Stacks, Queues
Explicación gráfica Data Types básicos
Glosario de funciones para Abstract Data Types
Clases y objetos
Creando tu primera Queue: Arrays
Creando tu primera Queue: implementación.
Creando tu primera Queue: implementar la función enQueue
Creando tu primera Queue: implementar la función deQueue
Creando tu primera Queue: main code
Algoritmos de ordenamiento
Algoritmos de ordenamiento
Bubble sort
Bubble sort: implementación
Bubble sort: main code
Insertion sort
Desafío: implementa un algoritmo de ordenamiento
Recursividad
Recursividad
La función Factorial, calculando el factorial recursivamente
Manejo de cadenas de caracteres
Arte: Generando arte recursivo
Divide and conquer y programación dinámica
Divide and Conquer (divide y vencerás)
Qué es la programación dinámica (divide y vencerás v2.0)
MergeSort
Desafío: Buscar el algortimo más rápido de sort
Implementando QuickSort con Python
Implementando QuickSort con Python: main code
Algoritmos 'Greedy'
Qué son los Greedy Algorithm
Ejercicio de programación greedy
Ejercio de programación greedy: main code
Grafos y árboles
Grafos y sus aplicaciones
Árboles
¿Cómo comparar Algoritmos?
Cómo comparar algoritmos y ritmo de crecimiento
¿Qué sigue?
Cierre del curso y siguientes pasos
Ricardo Celis
Lectura
En esta lectura de referencia encontrarás la definición de los 3 Abstract Data Types más utilizados: listas ADT, Stack o Pila ADT y Queue o Cola ADT.
...
Regístrate o inicia sesión para leer el resto del contenido.
Aportes 93
Preguntas 2
Al final, exactamente en la última línea, parece ser que hay un error:
Queue ADT
isFull() – Retorna true si la cola está vacía, si no, retorna false. // Debe decir que retorna true si la cola está llena…
ADT Vs. Estructura de datos: Los ADT son estructura de datos creadas por el mismo programador, lo que quiere decir que se basan ya sea en una lista, un diccionario o un stack, pero estaran definidas de otra forma para tener un mejor control y flujo del codigo. En un caso mas claro imaginen tener un proyecto grande donde se trabaja con muchas variables y datos necesitamos crear estructuras de datos para tener un mejor orden y si trabajamos con las formas primitivas seria algo muy confuso de esta forma es en la que salen las ADT. Entonces las ADT realmente son definiciones de las mismas estructuras de datos pero declaradas por los programadores
Estos son algunos que encontré adicionales, habrá que explorar más de este asunto:
Entonces se podría entender a la cola (Queue) como la fila de un banco o de un restaurante o cualquier otro, porque los clientes se van formando y atienden al primero que llegó.
La pila (Stack) es como cuando guardabas discos en unas cosas que tenían como un cilindro en medio, sacabas el último que habías metido, si querías sacar uno del medio tenías que sacar un montón y se hacía un desorden.
La lista entiendo que sacas el que quieras de la posición que quieras. Es como cuando checas tus calificaciones en la universidad, buscas tu nombre y revisas, o buscas el de tu amigo y ya, no tienes que estar revisando uno por uno a mucho detalle.
Amigos, para ahondar en la implementación de estas estructuras de datos en javascript.
Hola a todos, me parece que hay un error en el Queue ADT, al ingresar isFull() - debería retornar true si la cola está llena.
Ya que como aparece en el resumen, isEmpty y isFull están retornando la misma información.
Quisiera saber mas la utilidad en el dia a dia de estos conceptos
Me queda la duda de si en las operaciones disponibles isEmpty () y isFull del ADT de Queue realmente tienen la misma funcionalidad, ya que en el artículo ambas dicen lo siguiente:
isEmpty() – Retorna true si la cola está vacía, si no, retorna false.
isFull() – Retorna true si la cola está vacía, si no, retorna false.
Por ende no veo la diferencia, me gustaría saber si “isFull()” lo que realmente hace es (Retornar true si la cola está llena, si no, retorna false)
Agradezco sus comentarios… Saludos!
Espero ver los ejercicios prácticos, pues la lectura estuvo clara… hay algunos vacíos … al momento frente a las anteriores clases esta no me a gustado la dinámica del docente
Si uno se pone a analizar todos estos conceptos se usan a diario en las herramientas que usamos para desarrolar (Arreglos, Git , Objetos)
genial, ahora a la practica. 😃
Pequeña observación.
En Queue ADT las funciones isEmpty() e isFull() dicen lo mismo.
Es así o es un pequeño error?? Saludos 😄
Ahora me interesa saber como implementar y entender su esencia de cada ADT.
Estoy entiendo poco a poco los conceptos pero algo que no entiendo es que lenguaje tiene estos ADT? O nosotros como programadores somos los que tenemos que crearlos y estos son estandares de los métodos para llevar al momento de crear un ADT, si?
Array es un ADT? Según lo que he entendido de todo si por lo métodos que tiene, pero también es una Estructura de Datos? Esto se esta poniendo bien ambigüo jeje.
Y ya como comentario, deberían aclarar que estos no son cosas nativas de los lenguajes, porque Celis habla como si lo fuera y me ha estado confundiendo mucho.
Por si tiene duda sobre si python cuenta con un mecanismo de estructuras de datos aquí lo explica muy bien https://recursospython.com/guias-y-manuales/estructuras/
Más adelante les comparto la implementación de Queue que hice en Javascript^^
En el isFull() del Queue ADT no debería ser Retorna True si la cola está llena, sino, retorna false?
Gracias
Con referente al glosario, ¿La sintaxis y los métodos no dependen del lenguaje?
Gracias por este excelente Resumen
Gracias Ricardo.
Súper explicación, gracias!
Genial, me queda claro las operaciones que tiene cada ADT.
Muy buena explicacion , quedo muy claro el tema 😄
isFull() – Retorna true si la cola está llena, si no, retorna false.
Esto es mas o menos la clase de registros, pero en software.
Aquí dejo una fuente sobre linked list que me dio un dolor de cabeza en el Curso de Introducción a C 2019: https://www.geeksforgeeks.org/linked-list-set-1-introduction/
Aún tengo una duda: ¿Las linked lists son ADT o son DS?
isEmpty() – Retorna true si la cola está vacía, si no, retorna false.
isFull() – Retorna true si la cola NO está vacía, si no, retorna false.
Genial!
Excelente definición, todo mucho mas claro
Súper genial… Gracias!!
s
List ADT: Es un Dato Abstracto utilizado para representar un número contable de valores ordenados.
Stack ADT: Sirve como colección de elementos con dos operaciones principales:
Push: agrega un elemento a la colección
Pop: remueve un elemento a la colección
Este sistema se maneja de la manera LIFO.
Como podriamos implementar todo esto
Prácticamente estamos viendo los que más se ven por internet.
https://www.geeksforgeeks.org/abstract-data-types/
gracias
Excelente con esta explicacion queda mas claro.
Buena ayuda
Buenos datos, guardarlos es importante para lo que sigue en el curso.
Excelente resumen de las operaciones, espero aplicarlas pronto.
¡¡¡Gracias!!!
genial 😄
¿Estos son todos los ADT que se pueden encontrar en un lenguaje de programación pero no todos son nativos o están disponibles en cada lenguaje?
muy bueno, a tener en cuenta para el examen.
Buen glosario, aunque dependiendo el lenguaje puede cambiar un poco el nombre de la función o pueden tener mas funciones, pero siempre cuentan por lo menos las de aquí
Bien!!
Muy util esta lectura
Importante información, ahora veo que no era un link sino que estaba en la clase siguiente esta información, muchas gracias!
Gracias por el glosario
Anteriormente había escuchado sobre este tema, pero no lo tenia muy claro, pero con esta explicación me quedaron mas claro los conceptos y operaciones que se pueden realizar con ellos. Muchas gracias.
Muy útil!!
muy útil, muchas gracias.
excelente, asi queda un poco mas claro en que consiste cada uno
Recuerdo mis clases de estructura de datos en la Uni jaja
Muy buenos apuntes para repasar.
Gracias, por el glosario.
Gracias por el glosario, Muy buena explicación sobre el tema
Bien, por escribir los métodos de cada uno.
buen glosario 😄
Muy buen aporte, aunque me parece que sera necesario encontrar el equivalente en el lenguaje que usemos de manera mas frecuente.
Gracias por el glosario!!
Gracias por el glosario!
Muy buen documento!!!1
Gracias
Hola Karina Gracias por esa imagen esta muy buena .
Muchas gracias!!!
Muchas Gracias!!!
♥
bueno esta lectura estuvo mas comprensible que las clases
Crack! Más fácil, imposible
gracias karina por la información
Excelente… Seguimos avanzando. 👌🏽
super bueno el resumen
Esto nunca lo vi tan al detalle en la universidad, hicimos muchos ejercicios pero esto me hubiera servido mucho, información de valor
Gracias por el aporte!
NO sabía que cada estructura tenía tantos métodos, de hecho solo usaba push y pop. Es bueno saber las posibilidades con estos mismos
Darle
Gracias por la información…
En el Queue ADT, no deberia ser así:
isEmpty() – Retorna true si la cola está vacía, si no, retorna false.
isFull() – Retorna true si la cola NO está vacía(esta llena), si no, retorna false.
muy bien
Las listas enlazadas necesitan un puntero que almacene el contenido del primer nodo o el start. Si se llega a borrar este nodo sin asignar el start el siguiente nodo, la lista se perderá. EN el curso introducción a C de platzi hay una implementación de esta lista con datos númericos.
Buen resumen, prestar atención a los detalles en algunos errores.
excelente curso en buena hora profe celis, muy buena la documentacion de los adt mas usados y sus compenentes utilizados en codigo .
Estas funciones de ADT son en particular de algún lenguaje de programación?
QUEUE: Es un tipo de estructura de ADT, la cual organiza los elementos a medida que van ingresando, de forma que su logica se aplica con FIFO, primero entrar primero en salir, es algo asi como cuando vamos a hechar gasolina en venezuela, tienes que irte un dia antes para salir de primero
bastante bueno, con esta lectura me queda más claro.
excelente aporte muchas gracias profe
Esto me recuerda a mis clases de logística
A memorizar cual Sidis.
Super!
Excelente explicación complementaria.
Ya con esta clase se esclarece las dos últimas 😃
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?