From a881a4ee49486296e67e45c8cb79244c5490a460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Portas=20L=C3=B3pez?= <81629707+TeenBiscuits@users.noreply.github.com> Date: Sat, 6 Apr 2024 14:14:18 +0200 Subject: [PATCH 01/18] =?UTF-8?q?Rename=20de=20Enlaces=20y=20Reestructurac?= =?UTF-8?q?i=C3=B3n=20en=20Bol=20y=20Apuntes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/pro.tree | 23 ++++++++++--------- docs/topics/00-Inicio/Apuntes.topic | 17 +++++++------- docs/topics/00-Inicio/Boletines.topic | 22 ++++++++++-------- ...in-1.md => Boletin-1-Conceptos-Basicos.md} | 0 ...tin-2.md => Boletin-2-Control-de-Flujo.md} | 0 ...Boletin-3.md => Boletin-3-Subprogramas.md} | 0 ...4.md => Boletin-4-Estructuras-de-Datos.md} | 0 ...que-1.md => Bloque-1-Conceptos-Basicos.md} | 0 ...oque-2.md => Bloque-2-Control-de-Flujo.md} | 0 .../{Bloque-3.md => Bloque-3-Subprogramas.md} | 0 ...-4.md => Bloque-4-Estructuras-de-Datos.md} | 0 ...> Tema-1-Tipos-Abstractos-de-Datos-TAD.md} | 0 ... => Tema-2-Gestion-dinamica-de-memoria.md} | 0 docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md | 0 docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md | 0 15 files changed, 32 insertions(+), 30 deletions(-) rename docs/topics/02-Boletines/Pro-1/{Boletin-1.md => Boletin-1-Conceptos-Basicos.md} (100%) rename docs/topics/02-Boletines/Pro-1/{Boletin-2.md => Boletin-2-Control-de-Flujo.md} (100%) rename docs/topics/02-Boletines/Pro-1/{Boletin-3.md => Boletin-3-Subprogramas.md} (100%) rename docs/topics/02-Boletines/Pro-1/{Boletin-4.md => Boletin-4-Estructuras-de-Datos.md} (100%) rename docs/topics/03-Apuntes/Pro-1/{Bloque-1.md => Bloque-1-Conceptos-Basicos.md} (100%) rename docs/topics/03-Apuntes/Pro-1/{Bloque-2.md => Bloque-2-Control-de-Flujo.md} (100%) rename docs/topics/03-Apuntes/Pro-1/{Bloque-3.md => Bloque-3-Subprogramas.md} (100%) rename docs/topics/03-Apuntes/Pro-1/{Bloque-4.md => Bloque-4-Estructuras-de-Datos.md} (100%) rename docs/topics/03-Apuntes/Pro-2/{Tema-1.md => Tema-1-Tipos-Abstractos-de-Datos-TAD.md} (100%) rename docs/topics/03-Apuntes/Pro-2/{Tema-2.md => Tema-2-Gestion-dinamica-de-memoria.md} (100%) create mode 100644 docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md create mode 100644 docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md diff --git a/docs/pro.tree b/docs/pro.tree index e59e8c5..0dd667b 100644 --- a/docs/pro.tree +++ b/docs/pro.tree @@ -11,10 +11,10 @@ SPDX-License-Identifier: GPL-3.0-only - - - - + + + + @@ -26,15 +26,16 @@ SPDX-License-Identifier: GPL-3.0-only - - - - + + + + - - - + + + + diff --git a/docs/topics/00-Inicio/Apuntes.topic b/docs/topics/00-Inicio/Apuntes.topic index 8609c5d..351c9b0 100644 --- a/docs/topics/00-Inicio/Apuntes.topic +++ b/docs/topics/00-Inicio/Apuntes.topic @@ -30,26 +30,25 @@ Programación I - - - - - Programación II - - - - Tema 3 - Listas + + Próximamente... diff --git a/docs/topics/00-Inicio/Boletines.topic b/docs/topics/00-Inicio/Boletines.topic index 68e1c50..e333bf0 100644 --- a/docs/topics/00-Inicio/Boletines.topic +++ b/docs/topics/00-Inicio/Boletines.topic @@ -21,22 +21,24 @@ - Boletín - 3 - Boletín 4 + + Programación I - Boletín 1 - Boletín 2 - Boletín - 3 - Boletín 4 + + + + diff --git a/docs/topics/02-Boletines/Pro-1/Boletin-1.md b/docs/topics/02-Boletines/Pro-1/Boletin-1-Conceptos-Basicos.md similarity index 100% rename from docs/topics/02-Boletines/Pro-1/Boletin-1.md rename to docs/topics/02-Boletines/Pro-1/Boletin-1-Conceptos-Basicos.md diff --git a/docs/topics/02-Boletines/Pro-1/Boletin-2.md b/docs/topics/02-Boletines/Pro-1/Boletin-2-Control-de-Flujo.md similarity index 100% rename from docs/topics/02-Boletines/Pro-1/Boletin-2.md rename to docs/topics/02-Boletines/Pro-1/Boletin-2-Control-de-Flujo.md diff --git a/docs/topics/02-Boletines/Pro-1/Boletin-3.md b/docs/topics/02-Boletines/Pro-1/Boletin-3-Subprogramas.md similarity index 100% rename from docs/topics/02-Boletines/Pro-1/Boletin-3.md rename to docs/topics/02-Boletines/Pro-1/Boletin-3-Subprogramas.md diff --git a/docs/topics/02-Boletines/Pro-1/Boletin-4.md b/docs/topics/02-Boletines/Pro-1/Boletin-4-Estructuras-de-Datos.md similarity index 100% rename from docs/topics/02-Boletines/Pro-1/Boletin-4.md rename to docs/topics/02-Boletines/Pro-1/Boletin-4-Estructuras-de-Datos.md diff --git a/docs/topics/03-Apuntes/Pro-1/Bloque-1.md b/docs/topics/03-Apuntes/Pro-1/Bloque-1-Conceptos-Basicos.md similarity index 100% rename from docs/topics/03-Apuntes/Pro-1/Bloque-1.md rename to docs/topics/03-Apuntes/Pro-1/Bloque-1-Conceptos-Basicos.md diff --git a/docs/topics/03-Apuntes/Pro-1/Bloque-2.md b/docs/topics/03-Apuntes/Pro-1/Bloque-2-Control-de-Flujo.md similarity index 100% rename from docs/topics/03-Apuntes/Pro-1/Bloque-2.md rename to docs/topics/03-Apuntes/Pro-1/Bloque-2-Control-de-Flujo.md diff --git a/docs/topics/03-Apuntes/Pro-1/Bloque-3.md b/docs/topics/03-Apuntes/Pro-1/Bloque-3-Subprogramas.md similarity index 100% rename from docs/topics/03-Apuntes/Pro-1/Bloque-3.md rename to docs/topics/03-Apuntes/Pro-1/Bloque-3-Subprogramas.md diff --git a/docs/topics/03-Apuntes/Pro-1/Bloque-4.md b/docs/topics/03-Apuntes/Pro-1/Bloque-4-Estructuras-de-Datos.md similarity index 100% rename from docs/topics/03-Apuntes/Pro-1/Bloque-4.md rename to docs/topics/03-Apuntes/Pro-1/Bloque-4-Estructuras-de-Datos.md diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-1.md b/docs/topics/03-Apuntes/Pro-2/Tema-1-Tipos-Abstractos-de-Datos-TAD.md similarity index 100% rename from docs/topics/03-Apuntes/Pro-2/Tema-1.md rename to docs/topics/03-Apuntes/Pro-2/Tema-1-Tipos-Abstractos-de-Datos-TAD.md diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-2.md b/docs/topics/03-Apuntes/Pro-2/Tema-2-Gestion-dinamica-de-memoria.md similarity index 100% rename from docs/topics/03-Apuntes/Pro-2/Tema-2.md rename to docs/topics/03-Apuntes/Pro-2/Tema-2-Gestion-dinamica-de-memoria.md diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md b/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md b/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md new file mode 100644 index 0000000..e69de29 From 0d23113f4e96a469639ec8a4552a25619bb6d46f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Portas=20L=C3=B3pez?= <81629707+TeenBiscuits@users.noreply.github.com> Date: Sat, 6 Apr 2024 14:34:00 +0200 Subject: [PATCH 02/18] =?UTF-8?q?Actualizaci=C3=B3n=20Para=20Colaboradores?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/topics/00-Inicio/Para-Colaboradores.md | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/docs/topics/00-Inicio/Para-Colaboradores.md b/docs/topics/00-Inicio/Para-Colaboradores.md index 4b3d954..b057f01 100644 --- a/docs/topics/00-Inicio/Para-Colaboradores.md +++ b/docs/topics/00-Inicio/Para-Colaboradores.md @@ -20,21 +20,6 @@ leer [la guía de contribución](https://github.com/TeenBiscuits/Pro2324/blob/ma - -TO DO - -Prioridad uno: ¡En Construcción! Segunda prioridad: Próximamente... - -- [ ] Introducción Pro (¡En Construcción!) -- [ ] Bibliografía Pro (¡En Construcción!) -- [ ] Antiguos exámenes (¡En Construcción!) -- [ ] Ejemplos (Próximamente...) -- [ ] Añadir tutoriales (Próximamente...) -- [ ] Boletines Pro II (Próximamente...) -- [ ] Añadir teoría Pro II (Próximamente...) - - - En construcción... + **Resúmenes** Copyright © 2024 Pablo Portas López From 664525657c1ba525d0cebdc23b2ab23b0b923ec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Portas=20L=C3=B3pez?= <81629707+TeenBiscuits@users.noreply.github.com> Date: Sat, 6 Apr 2024 14:34:11 +0200 Subject: [PATCH 04/18] Boceto Tema 3 --- docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md b/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md index e69de29..f89adb8 100644 --- a/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md +++ b/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md @@ -0,0 +1,68 @@ + + + + +Copyright © 2024 Pablo Portas López + +# Tema 3 - Listas + + + +## TAD Lista + +## TAD Lista ordenada + +## Comparación entre TADs + +## Archivo de Cabecera TAD + +```C +#include + +#define LNULL ...; //Constante que representa posiciones nulas + +// Se define en funcion del problema +typedef ... tItemL; +typedef ... tPosL; +typedef ... tList; + +// Generadoras +void createEmptyList(tList* L); +bool insertItem(tItemL d, tPosL p, tList* L); + +// Modificadoras +bool copyList(tList L, tList* M); +void updateItem(tItemL d , tPosL p, tList* L); + +// Destructoras +void deleteAtPosition(tPosL p, tList* L); +void deleteList(tList* L); + +// Observadoras +tPosL findItem(tItemL d, tList L); +bool isEmptyList(tList L); +tItemL getItem(tPosL p, tList L); +tPosL first(tList L) ; +tPosL last(tList L); +tPosL previous(tPosL p, tList L); +tPosL next(tPosL p, tList L); +``` + +## Multilistas + +En problemas de programación reales hacen falta soluciones complejas. Es habitual combinar múltiples TAD simples para +construir un TAD complejo. + +En este caso el TAD multilistas es un ejemplo de combinación de TADs, en este caso, listas. + +### TAD Multilistas + +¡En construcción! Colabora + +### TAD Multiordenadas + +¡En construcción! Colabora \ No newline at end of file From 72b27e0ed3e039cbcb609f7fa10a5eb6a3902908 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Portas=20L=C3=B3pez?= <81629707+TeenBiscuits@users.noreply.github.com> Date: Sat, 6 Apr 2024 17:09:27 +0200 Subject: [PATCH 05/18] =?UTF-8?q?Mejora=20en=20las=20descripciones=20de=20?= =?UTF-8?q?los=20art=C3=ADculos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/pro.tree | 2 +- docs/redirection-rules.xml | 4 +++ docs/topics/00-Inicio/Agradecimientos.md | 6 ++++- docs/topics/00-Inicio/Apuntes.topic | 25 +++++++------------ docs/topics/00-Inicio/Boletines.topic | 12 +++------ docs/topics/00-Inicio/Inicio.topic | 5 ++-- .../{tutoriales.topic => Tutoriales.topic} | 2 +- .../Pro-1/Boletin-1-Conceptos-Basicos.md | 6 ++++- .../Pro-1/Boletin-2-Control-de-Flujo.md | 6 ++++- .../Pro-1/Boletin-3-Subprogramas.md | 6 ++++- .../Pro-1/Boletin-4-Estructuras-de-Datos.md | 6 ++++- docs/topics/03-Apuntes/Bibliografia.md | 6 ++++- .../Pro-1/Bloque-1-Conceptos-Basicos.md | 6 ++++- .../Pro-1/Bloque-2-Control-de-Flujo.md | 6 ++++- .../03-Apuntes/Pro-1/Bloque-3-Subprogramas.md | 6 ++++- .../Pro-1/Bloque-4-Estructuras-de-Datos.md | 6 ++++- .../Tema-1-Tipos-Abstractos-de-Datos-TAD.md | 6 ++++- .../Tema-2-Gestion-dinamica-de-memoria.md | 6 ++++- 18 files changed, 81 insertions(+), 41 deletions(-) rename docs/topics/00-Inicio/{tutoriales.topic => Tutoriales.topic} (96%) diff --git a/docs/pro.tree b/docs/pro.tree index 0dd667b..b891921 100644 --- a/docs/pro.tree +++ b/docs/pro.tree @@ -45,7 +45,7 @@ SPDX-License-Identifier: GPL-3.0-only - + diff --git a/docs/redirection-rules.xml b/docs/redirection-rules.xml index 05be240..646aebc 100644 --- a/docs/redirection-rules.xml +++ b/docs/redirection-rules.xml @@ -11,4 +11,8 @@ SPDX-License-Identifier: GPL-3.0-only readme.html,pro2324.html,01-pro2324.html,introduction.html --> + + Created after removal of "Overview" from Pro2324 + Overview.html + \ No newline at end of file diff --git a/docs/topics/00-Inicio/Agradecimientos.md b/docs/topics/00-Inicio/Agradecimientos.md index 0307b1a..91ac560 100644 --- a/docs/topics/00-Inicio/Agradecimientos.md +++ b/docs/topics/00-Inicio/Agradecimientos.md @@ -8,7 +8,11 @@ SPDX-License-Identifier: CC-BY-NC-4.0 # Agradecimientos -Este proyecto no sería posible sin el trabajo previo y la colaboración de estas talentosas personas. 🤗 + + +Este proyecto no sería posible sin el trabajo previo y la colaboración de estas talentosas personas. 🤗 + + diff --git a/docs/topics/00-Inicio/Apuntes.topic b/docs/topics/00-Inicio/Apuntes.topic index 351c9b0..35993b1 100644 --- a/docs/topics/00-Inicio/Apuntes.topic +++ b/docs/topics/00-Inicio/Apuntes.topic @@ -23,32 +23,25 @@ Teoría Introducción - + Programación I - - - - + + + + Programación II - - - - + + + + Próximamente... diff --git a/docs/topics/00-Inicio/Boletines.topic b/docs/topics/00-Inicio/Boletines.topic index e333bf0..354cf65 100644 --- a/docs/topics/00-Inicio/Boletines.topic +++ b/docs/topics/00-Inicio/Boletines.topic @@ -31,14 +31,10 @@ Programación I - - - - + + + + diff --git a/docs/topics/00-Inicio/Inicio.topic b/docs/topics/00-Inicio/Inicio.topic index e225ca5..5797e98 100644 --- a/docs/topics/00-Inicio/Inicio.topic +++ b/docs/topics/00-Inicio/Inicio.topic @@ -36,7 +36,7 @@ Antiguos Exámenes - Tutoriales + Tutoriales Próximamente... @@ -64,8 +64,7 @@ Sugerencia Apoye el desarrollo - Agradecimientos + diff --git a/docs/topics/00-Inicio/tutoriales.topic b/docs/topics/00-Inicio/Tutoriales.topic similarity index 96% rename from docs/topics/00-Inicio/tutoriales.topic rename to docs/topics/00-Inicio/Tutoriales.topic index 28c0abf..4368964 100644 --- a/docs/topics/00-Inicio/tutoriales.topic +++ b/docs/topics/00-Inicio/Tutoriales.topic @@ -3,7 +3,7 @@ SYSTEM "https://resources.jetbrains.com/writerside/1.0/xhtml-entities.dtd"> + id="Tutoriales" title="Tutoriales" help-id="06-Tutoriales;tutoriales"> -Entra y Salida. printf, scanf, gets, define y operaciones artiméticas básicas. + + +Entra y Salida. printf, scanf, gets, define y operaciones artiméticas básicas. + + ### Ejercicio 1 diff --git a/docs/topics/02-Boletines/Pro-1/Boletin-2-Control-de-Flujo.md b/docs/topics/02-Boletines/Pro-1/Boletin-2-Control-de-Flujo.md index 85e7721..a08adbf 100644 --- a/docs/topics/02-Boletines/Pro-1/Boletin-2-Control-de-Flujo.md +++ b/docs/topics/02-Boletines/Pro-1/Boletin-2-Control-de-Flujo.md @@ -8,7 +8,11 @@ SPDX-License-Identifier: CC-BY-NC-4.0 # Boletín 2 -Bucles (while / do while / for) y condicionales (if / else / switch) + + +Bucles (while / do while / for) y condicionales (if / else / switch) + + ### Ejercicio 1 diff --git a/docs/topics/02-Boletines/Pro-1/Boletin-3-Subprogramas.md b/docs/topics/02-Boletines/Pro-1/Boletin-3-Subprogramas.md index bf0417b..6585585 100644 --- a/docs/topics/02-Boletines/Pro-1/Boletin-3-Subprogramas.md +++ b/docs/topics/02-Boletines/Pro-1/Boletin-3-Subprogramas.md @@ -10,7 +10,11 @@ SPDX-License-Identifier: CC-BY-NC-4.0 -Funciones, recursividad y retorno de datos. + + +Funciones, recursividad y retorno de datos. + + ### Ejercicio 1 diff --git a/docs/topics/02-Boletines/Pro-1/Boletin-4-Estructuras-de-Datos.md b/docs/topics/02-Boletines/Pro-1/Boletin-4-Estructuras-de-Datos.md index 77bed11..e4dccda 100644 --- a/docs/topics/02-Boletines/Pro-1/Boletin-4-Estructuras-de-Datos.md +++ b/docs/topics/02-Boletines/Pro-1/Boletin-4-Estructuras-de-Datos.md @@ -10,7 +10,11 @@ SPDX-License-Identifier: CC-BY-NC-4.0 -Arrays, registros y cadenas de caracteres. + + +Arrays, registros y cadenas de caracteres. + + diff --git a/docs/topics/03-Apuntes/Bibliografia.md b/docs/topics/03-Apuntes/Bibliografia.md index cc84447..19e5e06 100644 --- a/docs/topics/03-Apuntes/Bibliografia.md +++ b/docs/topics/03-Apuntes/Bibliografia.md @@ -10,7 +10,11 @@ SPDX-License-Identifier: CC-BY-NC-4.0 ¡En construcción! Colabora -Bibliografía recomendada, desde las lecturas esenciales más básicas hasta los grandes clásicos. + + +Bibliografía recomendada, desde las lecturas esenciales más básicas hasta los grandes clásicos. + + ### C Programming. A Modern Approach diff --git a/docs/topics/03-Apuntes/Pro-1/Bloque-1-Conceptos-Basicos.md b/docs/topics/03-Apuntes/Pro-1/Bloque-1-Conceptos-Basicos.md index 8a53217..984cc7e 100644 --- a/docs/topics/03-Apuntes/Pro-1/Bloque-1-Conceptos-Basicos.md +++ b/docs/topics/03-Apuntes/Pro-1/Bloque-1-Conceptos-Basicos.md @@ -10,7 +10,11 @@ SPDX-License-Identifier: CC-BY-NC-4.0 # Bloque 1 - Conceptos Básicos -Algoritmos, lenguajes de programación, programas y sus elementos, tipos de datos y operadores, entrada y salida (printf / scanf), conceptos básicos de macros e introducción a los punteros. + + +Algoritmos, lenguajes de programación, programas y sus elementos, tipos de datos y operadores, entrada y salida (printf / scanf), conceptos básicos de macros e introducción a los punteros. + + ## Introducción diff --git a/docs/topics/03-Apuntes/Pro-1/Bloque-2-Control-de-Flujo.md b/docs/topics/03-Apuntes/Pro-1/Bloque-2-Control-de-Flujo.md index 2502b38..ed05ed6 100644 --- a/docs/topics/03-Apuntes/Pro-1/Bloque-2-Control-de-Flujo.md +++ b/docs/topics/03-Apuntes/Pro-1/Bloque-2-Control-de-Flujo.md @@ -10,7 +10,11 @@ SPDX-License-Identifier: CC-BY-NC-4.0 # Bloque 2 - Control de Flujo -Bucles (while / do while / for), Condicionales (if / else / switch) y el Teorema de Böhm y Jacopini (o de la programación estructurada) + + +Bucles (while / do while / for), Condicionales (if / else / switch) y el Teorema de Böhm y Jacopini (o de la programación estructurada) + + ## Introducción diff --git a/docs/topics/03-Apuntes/Pro-1/Bloque-3-Subprogramas.md b/docs/topics/03-Apuntes/Pro-1/Bloque-3-Subprogramas.md index cf57b24..23c8af2 100644 --- a/docs/topics/03-Apuntes/Pro-1/Bloque-3-Subprogramas.md +++ b/docs/topics/03-Apuntes/Pro-1/Bloque-3-Subprogramas.md @@ -10,7 +10,11 @@ SPDX-License-Identifier: CC-BY-NC-4.0 # Bloque 3 - Subprogramas -Funciones, recursividad y retorno de datos. Divide y vencerás. + + +Funciones, recursividad y retorno de datos. Divide y vencerás. + + ## Introducción diff --git a/docs/topics/03-Apuntes/Pro-1/Bloque-4-Estructuras-de-Datos.md b/docs/topics/03-Apuntes/Pro-1/Bloque-4-Estructuras-de-Datos.md index 6143297..7bd4de1 100644 --- a/docs/topics/03-Apuntes/Pro-1/Bloque-4-Estructuras-de-Datos.md +++ b/docs/topics/03-Apuntes/Pro-1/Bloque-4-Estructuras-de-Datos.md @@ -10,7 +10,11 @@ SPDX-License-Identifier: CC-BY-NC-4.0 # Bloque 4 - Estructuras de Datos -Arrays, registros, cadenas de caracteres y algoritmos de búsqueda y ordenación. + + +Arrays, registros, cadenas de caracteres y algoritmos de búsqueda y ordenación. + + ## Tipos Estructurados diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-1-Tipos-Abstractos-de-Datos-TAD.md b/docs/topics/03-Apuntes/Pro-2/Tema-1-Tipos-Abstractos-de-Datos-TAD.md index 63b0ce2..d58cd79 100644 --- a/docs/topics/03-Apuntes/Pro-2/Tema-1-Tipos-Abstractos-de-Datos-TAD.md +++ b/docs/topics/03-Apuntes/Pro-2/Tema-1-Tipos-Abstractos-de-Datos-TAD.md @@ -10,7 +10,11 @@ SPDX-License-Identifier: CC-BY-NC-4.0 # Tema 1 - Tipos Abstractos de Datos (TAD) -La abstracción funcional y de datos. Especificación, construcción y ejemplos. + + +La abstracción funcional y de datos. Especificación, construcción y ejemplos. + + diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-2-Gestion-dinamica-de-memoria.md b/docs/topics/03-Apuntes/Pro-2/Tema-2-Gestion-dinamica-de-memoria.md index d592dee..6a5c665 100644 --- a/docs/topics/03-Apuntes/Pro-2/Tema-2-Gestion-dinamica-de-memoria.md +++ b/docs/topics/03-Apuntes/Pro-2/Tema-2-Gestion-dinamica-de-memoria.md @@ -10,7 +10,11 @@ SPDX-License-Identifier: CC-BY-NC-4.0 # Tema 2 - Gestión dinámica de memoria -Punteros en profundidad, las variables dinámicas, direcciones de memoria y la gestión de la memoria (pila (stack) y montículo (heap)). + + +Punteros en profundidad, las variables dinámicas, direcciones de memoria y la gestión de la memoria (pila (stack) y montículo (heap)). + + ## Organización de la memoria de un programa From 3fc4e4617ee51714fc694c7d61601980aa7c2625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Portas=20L=C3=B3pez?= <81629707+TeenBiscuits@users.noreply.github.com> Date: Sat, 6 Apr 2024 17:28:05 +0200 Subject: [PATCH 06/18] =?UTF-8?q?Creado=20snippet=20para=20las=20advertenc?= =?UTF-8?q?ias=20de=20En=20Construcci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/topics/00-Inicio/Para-Colaboradores.md | 8 ++++++++ docs/topics/03-Apuntes/Bibliografia.md | 2 +- docs/topics/03-Apuntes/Teoria-Introduccion.md | 2 +- docs/topics/07-Extras/Algoritmos.md | 2 +- docs/topics/07-Extras/Tres-En-Raya.md | 2 +- 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/topics/00-Inicio/Para-Colaboradores.md b/docs/topics/00-Inicio/Para-Colaboradores.md index b057f01..1aa93c2 100644 --- a/docs/topics/00-Inicio/Para-Colaboradores.md +++ b/docs/topics/00-Inicio/Para-Colaboradores.md @@ -8,6 +8,10 @@ SPDX-License-Identifier: CC-BY-NC-4.0 # Para Colaboradores +{is-library="true"} + + + Esta página no se muestra en la documentación, si estás aquí es porque estás viendo el proyecto desde el código fuente. Gracias por colaborar en serio 🤗 @@ -48,8 +52,12 @@ leer [la guía de contribución](https://github.com/TeenBiscuits/Pro2324/blob/ma + ¡En construcción! Colabora + + Próximamente... Colabora + Copyright © 2024 "nombre" \ No newline at end of file diff --git a/docs/topics/03-Apuntes/Bibliografia.md b/docs/topics/03-Apuntes/Bibliografia.md index 19e5e06..fbac0c4 100644 --- a/docs/topics/03-Apuntes/Bibliografia.md +++ b/docs/topics/03-Apuntes/Bibliografia.md @@ -8,7 +8,7 @@ SPDX-License-Identifier: CC-BY-NC-4.0 # Bibliografía -¡En construcción! Colabora + diff --git a/docs/topics/03-Apuntes/Teoria-Introduccion.md b/docs/topics/03-Apuntes/Teoria-Introduccion.md index be9d668..be59c27 100644 --- a/docs/topics/03-Apuntes/Teoria-Introduccion.md +++ b/docs/topics/03-Apuntes/Teoria-Introduccion.md @@ -6,7 +6,7 @@ SPDX-License-Identifier: CC-BY-NC-4.0 # Introducción -¡En construcción! Colabora + Descripción From aaba081da0186c004dd2a10bfab4aecdfea7036e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Portas=20L=C3=B3pez?= <81629707+TeenBiscuits@users.noreply.github.com> Date: Sat, 6 Apr 2024 17:56:54 +0200 Subject: [PATCH 07/18] Retoques saltos de linea --- .../Pro-2/Tema-1-Tipos-Abstractos-de-Datos-TAD.md | 9 +++++++-- .../Pro-2/Tema-2-Gestion-dinamica-de-memoria.md | 10 ++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-1-Tipos-Abstractos-de-Datos-TAD.md b/docs/topics/03-Apuntes/Pro-2/Tema-1-Tipos-Abstractos-de-Datos-TAD.md index d58cd79..f302f10 100644 --- a/docs/topics/03-Apuntes/Pro-2/Tema-1-Tipos-Abstractos-de-Datos-TAD.md +++ b/docs/topics/03-Apuntes/Pro-2/Tema-1-Tipos-Abstractos-de-Datos-TAD.md @@ -42,8 +42,13 @@ Los estudiantes deben convercerse de que la programación no un arte misterioso, Abstraer -tr. Separar por medio de una operación intelectual un rasgo o una cualidad de algo para analizarlos aisladamente o considerarlos en su pura esencia o noción. -intr. Hacer caso omiso de algo, o dejarlo a un lado. + +tr. Separar por medio de una operación intelectual un rasgo o una cualidad de algo para analizarlos aisladamente o +considerarlos en su pura esencia o noción. + + +intr. Hacer caso omiso de algo, o dejarlo a un lado. + Si la definición de la RAE te ha dejado igual que como estabas. No te preocupes. diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-2-Gestion-dinamica-de-memoria.md b/docs/topics/03-Apuntes/Pro-2/Tema-2-Gestion-dinamica-de-memoria.md index 6a5c665..6e03206 100644 --- a/docs/topics/03-Apuntes/Pro-2/Tema-2-Gestion-dinamica-de-memoria.md +++ b/docs/topics/03-Apuntes/Pro-2/Tema-2-Gestion-dinamica-de-memoria.md @@ -12,7 +12,8 @@ SPDX-License-Identifier: CC-BY-NC-4.0 -Punteros en profundidad, las variables dinámicas, direcciones de memoria y la gestión de la memoria (pila (stack) y montículo (heap)). +Punteros en profundidad, las variables dinámicas, direcciones de memoria y la gestión de la memoria (pila (stack) y +montículo (heap)). @@ -77,7 +78,12 @@ int* P2; Utilizar punteros con contenido _basura_ puede tener **efectos fatales**. Por lo tanto, es mejor inicializarlos a nulo ```P = NULL;``` -En el lenguaje C este valor nulo se representa con la constante NULL, esta constante es la dirección de memoria nula. + + +En el lenguaje C este valor nulo se representa con la constante **NULL**, esta constante es **la dirección de memoria +nula**. + + ### La variable dinámica From f42e27268e14801c05727cd364f2bbc1f1c80f5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Portas=20L=C3=B3pez?= <81629707+TeenBiscuits@users.noreply.github.com> Date: Sat, 6 Apr 2024 20:01:16 +0200 Subject: [PATCH 08/18] Archivo del Tema 4 --- docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md b/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md index e69de29..b887e83 100644 --- a/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md +++ b/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md @@ -0,0 +1,17 @@ + + + + +Copyright © 2024 Pablo Portas López + +# Tema 4 - Colas + + + +Próximamente... + + \ No newline at end of file From dda03d691014abec39ca6b8bcfc70a9f1b2c3ec4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Portas=20L=C3=B3pez?= <81629707+TeenBiscuits@users.noreply.github.com> Date: Sat, 6 Apr 2024 20:01:29 +0200 Subject: [PATCH 09/18] Boceto Tema 3 --- docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md | 567 +++++++++++++++++- 1 file changed, 564 insertions(+), 3 deletions(-) diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md b/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md index f89adb8..5118d9b 100644 --- a/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md +++ b/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md @@ -10,14 +10,575 @@ SPDX-License-Identifier: CC-BY-NC-4.0 # Tema 3 - Listas - + + + + +El TAD Lista, especificación informal, implementación y descripción gráfica. Operaciones explicadas de forma gráfica e +implementadas. Otros tipos de TAD como Lista Ordenada y Multilistas también explicados. + + ## TAD Lista +Esto es una especificación informal del TAD + +Una lista es por definición un conjunto de cero o más elementos. + +Los elementos están ordenados de forma lineal, no por su contenido, sino simplemente por la posición que ocupan +relativos unos a otros. + +```mermaid +--- +title: TAD Lista enlazada simple +--- +flowchart LR + LISTA + + subgraph NODO1[NODO 1] + CONTENIDO1[INFORMACIÓN] + SIGUIENTE1[SIGUIENTE] + end + + subgraph NODO2[NODO 2] + CONTENIDO2[INFORMACIÓN] + SIGUIENTE2[SIGUIENTE] + end + + subgraph NODO3[NODO 3] + CONTENIDO3[INFORMACIÓN] + SIGUIENTE3[SIGUIENTE] + end + + LISTA --> NODO1 + SIGUIENTE1 --> NODO2 + SIGUIENTE2 --> NODO3 + SIGUIENTE3 --> NULL +``` + +Por lo tanto, la lista está formada por ``nodos`` idénticos. Cada nodo está formado por dos elementos, la información +del propio nodo y un puntero que apunta al siguiente. Además, el inicio de la lista está delimitado por un +puntero ``Lista``, y finaliza con el último nodo que apunta a ``NULL``. + +### Operaciones (sintaxis y semántica) + +Siguiendo los pasos para la especificación de un TAD, definimos las operaciones del mismo clasificándolas en: +constructoras, generadoras, modificadoras, observadoras y destructoras. + + + +Para más información: [](Tema-1-Tipos-Abstractos-de-Datos-TAD.md#especificaci-n-de-un-tad) + + + +#### Generadoras + + +
  • + createEmptyList \rightarrow List
    +

    +Objetivo: Crear una lista vacía y la inicializa
    +Salida: Una lista vacía
    +Poscondición: La lista sin datos
    +

    + +flowchart LR + LISTA --> NULL + +
  • +
  • + insertItem (Item, Position, List) \rightarrow List, Boolean
    +

    +Objetivo: Si la posición es nula, añade un elemento al final de la lista. En caso contrario, el elemento quedará +insertado justo antes del que actualmente ocupa la posición indicada.
    +Entrada:
    +Item: Contenido del elemento a insertar
    +Position: Posición de referencia para la inserción
    +List: Lista donde vamos a insertar
    +Salida: List: Lista con el elemento Item insertado y verdadero si se ha podido insertar, falso en caso contrario
    +Precondición: Position es una posición válida de la lista o es una posición nula
    +Postcondición: Las posiciones de los elementos de la lista posteriores a la del elemento insertado pueden haber +variado
    +

    + +flowchart LR + LISTA + subgraph NODO1[NODO 1] + CONTENIDO1[INFORMACIÓN] + SIGUIENTE1[SIGUIENTE] + end + subgraph NODO3[NODO 2] + CONTENIDO3[INFORMACIÓN] + SIGUIENTE3[SIGUIENTE] + end + LISTA --> NODO1 + SIGUIENTE1 --> NODO3 + SIGUIENTE3 --> NULL + + +flowchart LR + LISTA + subgraph NODO1[NODO 1] + CONTENIDO1[INFORMACIÓN] + SIGUIENTE1[SIGUIENTE] + end + subgraph NODO2[NUEVO NODO] + CONTENIDO2[INFORMACIÓN] + SIGUIENTE2[SIGUIENTE] + end + subgraph NODO3[NODO 2] + CONTENIDO3[INFORMACIÓN] + SIGUIENTE3[SIGUIENTE] + end + LISTA --> NODO1 + SIGUIENTE1 -.-> NODO2 + SIGUIENTE2 -.-> NODO3 + SIGUIENTE3 --> NULL + +
  • +
    + +### Modificadores + + +
  • + copyList(List_1) \rightarrow List_2, Boolean
    +

    +Objetivo: Copia una lista en otra
    +Entrada: List_1: Lista que vamos a copiar
    +Salida: List_2: Copia de la lista original y verdadero si se ha podido copiar, falso en caso contrario
    +Precondición: La lista origen está inicializada
    +

    + +flowchart LR + LISTA1[LISTA 1] --> NODO1 --> NODO2 --> NULL + LISTA2[LISTA 2] + + +flowchart LR + LISTA1[LISTA 1] --> NODO1[NODO 1] --> NODO2[NODO 2] --> NULL + LISTA2[LISTA 2] --> NODO21[NUEVO NODO] + LISTA2 -. X .-> NODO1[NODO 1] + + +flowchart LR + LISTA1[LISTA 1] --> NODO1[NODO 1] --> NODO2[NODO 2] --> NULL + LISTA2[LISTA 2] --> NODO21[NODO 1] + NODO1 == copiar ==> NODO21[NODO 1] + + +flowchart LR + LISTA1[LISTA 1] --> NODO1[NODO 1] --> NODO2[NODO 2] --> NULL + LISTA2[LISTA 2] --> NODO21[NODO 1] --> NODO22[NUEVO NODO] + NODO2 == copiar ==> NODO22[NUEVO NODO] + + +flowchart LR + LISTA1[LISTA 1] --> NODO1[NODO 1] --> NODO2[NODO 2] --> NULL + LISTA2[LISTA 2] --> NODO21[NODO 1] --> NODO22[NODO 2] --> NULL + +
  • +
  • + updateItem (Item, Position, List) \rightarrow List
    +

    +Objetivo: Modifica el contenido de un elemento de la lista
    +Entrada:
    +Item: Nuevo contenido a asignar al elemento en Position
    +Position: Posición del elemento que queremos modificar
    +List: Lista a modificar
    +Salida: List: Lista con el contenido del elemento modificado
    +Precondición: Position es una posición válida de la lista
    +

    + +flowchart LR + LISTA + subgraph NODO1[NODO 1] + CONTENIDO1[INFORMACIÓN] + SIGUIENTE1[SIGUIENTE] + end + subgraph NODO2[NODO A MODIFICAR] + CONTENIDO2[INFORMACIÓN ANTIGUA] + SIGUIENTE2[SIGUIENTE] + end + subgraph NODO3[NODO 2] + CONTENIDO3[INFORMACIÓN] + SIGUIENTE3[SIGUIENTE] + end + subgraph MOD[_] + INFO[NUEVA INFORMACIÓN] + POS[POSICIÓN A MODIFICAR] + end + LISTA --> NODO1 + SIGUIENTE1 --> NODO2 + SIGUIENTE2 --> NODO3 + SIGUIENTE3 --> NULL + INFO -.-> CONTENIDO3 + POS --> NODO3 + +
  • +
    + +### Destructoras + + +
  • + deleteAtPosition(Position, List) \rightarrow List
    +

    +Objetivo: Elimina de la lista un elemento con cierta posición
    +Entrada: +Position: Posición del elemento a eliminar +List: Lista a modificar +Salida: List: Lista sin el elemento correspondiente a Position
    +Precondición: Position es una posición válida de la lista
    +Postcondición: Las posiciones de los elementos de la lista posteriores a la de la posición eliminada pueden haber +variado
    +

    + +flowchart TB + LISTA + subgraph NODO1[NODO 1] + CONTENIDO1[INFORMACIÓN] + SIGUIENTE1[SIGUIENTE] + end + subgraph NODO2[NODO A ELIMINAR] + CONTENIDO2[INFORMACIÓN] + SIGUIENTE2[SIGUIENTE] + end + subgraph NODO3[NODO 2] + CONTENIDO3[INFORMACIÓN] + SIGUIENTE3[SIGUIENTE] + end + LISTA --> NODO1 + SIGUIENTE1 -.-> NODO2 + SIGUIENTE1 --> NODO3 + SIGUIENTE2 -.-> NODO3 + SIGUIENTE3 --> NULL + + +flowchart TB + LISTA + subgraph NODO1[NODO 1] + CONTENIDO1[INFORMACIÓN] + SIGUIENTE1[SIGUIENTE] + end + subgraph NODO3[NODO 2] + CONTENIDO3[INFORMACIÓN] + SIGUIENTE3[SIGUIENTE] + end + LISTA --> NODO1 + SIGUIENTE1 --> NODO3 + SIGUIENTE3 --> NULL + +
  • +
  • + deleteList (List) \rightarrow List
    +

    +Objetivo: Elimina todos los elementos de la lista
    +Entrada: List: Lista a borrar
    +Salida: Lista vacía
    +

    + +flowchart TB + LISTA + subgraph NODO1[NODO 1] + CONTENIDO1[INFORMACIÓN] + SIGUIENTE1[SIGUIENTE] + end + subgraph NODO2[NODO 2] + CONTENIDO2[INFORMACIÓN] + SIGUIENTE2[SIGUIENTE] + end + subgraph NODO3[NODO 3] + CONTENIDO3[INFORMACIÓN] + SIGUIENTE3[SIGUIENTE] + end + LISTA --> NODO1 + SIGUIENTE1 --> NODO2 + SIGUIENTE2 --> NODO3 + SIGUIENTE3 -.-> NULL + DELETE["FREE ()"] ==> NODO3 + + +flowchart TB + LISTA + subgraph NODO1[NODO 1] + CONTENIDO1[INFORMACIÓN] + SIGUIENTE1[SIGUIENTE] + end + subgraph NODO2[NODO 2] + CONTENIDO2[INFORMACIÓN] + SIGUIENTE2[SIGUIENTE] + end + LISTA --> NODO1 + SIGUIENTE1 --> NODO2 + SIGUIENTE2 -.-> NODO3[ANTIGUA DIRECCIÓN DE NODO 3] + NULL + DELETE["FREE ()"] ==> NODO2 + + +flowchart TB + LISTA + subgraph NODO1[NODO 1] + CONTENIDO1[INFORMACIÓN] + SIGUIENTE1[SIGUIENTE] + end + LISTA --> NODO1 + SIGUIENTE1 -.-> NODO2[ANTIGUA DIRECCIÓN DE NODO 2] + NULL + DELETE["FREE ()"] ==> NODO1 + + +flowchart LR + LISTA --> NULL + +
  • +
    + +#### Observadoras + + +
  • + findItem (Item, List) \rightarrow Position
    +

    +Objetivo: Busca el primer elemento con cierto contenido en la lista
    +Entrada:
    +Item: Contenido del elemento buscado
    +List: Lista donde realizar la búsqueda
    +Salida: Position: Posición del elemento encontrado o nulo si no se encuentra
    +

    + +flowchart TB + LISTA + subgraph NODO1[NODO 1] + CONTENIDO1[USUARIO 1] + SIGUIENTE1[SIGUIENTE] + end + subgraph NODO2[NODO 2] + CONTENIDO2[USUARIO 2] + SIGUIENTE2[SIGUIENTE] + end + subgraph NODO3[NODO 3] + CONTENIDO3[USUARIO 3] + SIGUIENTE3[SIGUIENTE] + end + LISTA --> NODO1 + SIGUIENTE1 --> NODO2 + SIGUIENTE2 --> NODO3 + SIGUIENTE3 --> NULL + FIND["¿ERES EL USUARIO3?"] -- NO --> NODO1 + + +flowchart TB + LISTA + subgraph NODO1[NODO 1] + CONTENIDO1[USUARIO 1] + SIGUIENTE1[SIGUIENTE] + end + subgraph NODO2[NODO 2] + CONTENIDO2[USUARIO 2] + SIGUIENTE2[SIGUIENTE] + end + subgraph NODO3[NODO 3] + CONTENIDO3[USUARIO 3] + SIGUIENTE3[SIGUIENTE] + end + LISTA --> NODO1 + SIGUIENTE1 --> NODO2 + SIGUIENTE2 --> NODO3 + SIGUIENTE3 --> NULL + FIND["¿ERES EL USUARIO3?"] -- NO --> NODO2 + + +flowchart TB + LISTA + subgraph NODO1[NODO 1] + CONTENIDO1[USUARIO 1] + SIGUIENTE1[SIGUIENTE] + end + subgraph NODO2[NODO 2] + CONTENIDO2[USUARIO 2] + SIGUIENTE2[SIGUIENTE] + end + subgraph NODO3[NODO 3] + CONTENIDO3[USUARIO 3] + SIGUIENTE3[SIGUIENTE] + end + LISTA --> NODO1 + SIGUIENTE1 --> NODO2 + SIGUIENTE2 --> NODO3 + SIGUIENTE3 --> NULL + FIND["¿ERES EL USUARIO3?"] -- SI --> NODO3 + +
  • +
  • + isEmptyList (List) \rightarrow Boolean
    +

    +Objetivo: Determina si la lista está vacía
    +Entrada: List: Lista a comprobar
    +Salida: Verdadero si la lista está vacía, falso en caso contrario
    +

    +
  • +
  • + getItem (Position, List) \rightarrow Item
    +

    +Objetivo: Recupera el contenido de un elemento de la lista
    +Entrada: Position: Posición del elemento buscado
    +List: Lista donde realizar la búsqueda
    +Salida: Item: Contenido del elemento que está en Position
    +Precondición: Position es una posición válida en la lista
    +

    +
  • +
  • + first (List) \rightarrow Position
    +

    +Objetivo: Devuelve la posición del primer elemento de la lista
    +Entrada: List: Lista a manipular
    +Salida: Position: Posición del primer elemento
    +Precondición: La lista no está vacía
    +

    +
  • +
  • + last (List) \rightarrow Position
    +

    +Objetivo: Devuelve la posición del último elemento de la lista
    +Entrada: List: Lista a manipular
    +Salida: Position: Posición del último elemento
    +Precondición: La lista no está vacía
    +

    +
  • +
  • + previous (Position, List) \rightarrow Position
    +

    +Objetivo: Devuelve la posición del elemento anterior al actual
    +Entrada: Position: Posición del elemento actual
    +List: Lista a manipular
    +Salida: Posición del elemento anterior o nulo si es el primero
    +Precondición: Position es una posición válida de la lista
    +

    +
  • +
  • + next (Position, List) \rightarrow Position
    +

    +Objetivo: Devuelve la posición del elemento siguiente al actual
    +Entrada:
    +Position: Posición del elemento actual
    +List: Lista a manipular
    +Salida: Position: Posición del elemento siguiente o nulo si es el último
    +Precondición: Position es una posición válida de la lista
    +

    +
  • +
    + ## TAD Lista ordenada +Esto es una especificación informal del TAD + +Los elementos están ordenados de forma lineal por su contenido. + +En caso de ordenación alfabética: + +```mermaid +--- +title: TAD Lista ordenada enlazada simple +--- +flowchart LR + LISTA + + subgraph NODO1[NODO 1] + CONTENIDO1[AAAA] + SIGUIENTE1[SIGUIENTE] + end + + subgraph NODO2[NODO 2] + CONTENIDO2[BBBB] + SIGUIENTE2[SIGUIENTE] + end + + subgraph NODO3[NODO 3] + CONTENIDO3[CCCC] + SIGUIENTE3[SIGUIENTE] + end + + LISTA --> NODO1 + SIGUIENTE1 --> NODO2 + SIGUIENTE2 --> NODO3 + SIGUIENTE3 --> NULL +``` + +### Operación a cambiar + +Las operaciones del TAD lista ordenada es idéntico al TAD anterior, la única a modificar es la operación de inserción: + + +
  • + insertItem (Item, Position, List) \rightarrow List, Boolean
    +

    +Objetivo: Inserta un elemento en la lista según el criterio de ordenación sobre el campo Item
    +Entrada:
    +Item: Contenido del elemento a insertar
    +List: Lista donde vamos a insertar
    +Salida: List: Lista con el elemento Item insertado en la posición correspondiente según su contenido y verdadero si se +ha podido insertar, falso en caso contrario
    +Precondición: La lista está inicializada
    +Postcondición: Las posiciones de los elementos de la lista posteriores a la del elemento insertado pueden haber +variado
    +

    + +flowchart TB + LISTA + subgraph NODO1[NODO 1] + CONTENIDO1[AAA] + SIGUIENTE1[SIGUIENTE] + end + subgraph NODO2[NUEVO 2] + CONTENIDO2[BBB] + SIGUIENTE2[SIGUIENTE] + end + subgraph NODO3[NODO 3] + CONTENIDO3[DDD] + SIGUIENTE3[SIGUIENTE] + end + subgraph NODO4[NUEVO NODO] + CONTENIDO4[CCC] + SIGUIENTE4[SIGUIENTE] + end + LISTA --> NODO1 + SIGUIENTE1 --> NODO2 + SIGUIENTE2 --> NODO3 + SIGUIENTE3 --> NULL + + +flowchart TB + LISTA + subgraph NODO1[NODO 1] + CONTENIDO1[AAA] + SIGUIENTE1[SIGUIENTE] + end + subgraph NODO2[NUEVO 2] + CONTENIDO2[BBB] + SIGUIENTE2[SIGUIENTE] + end + subgraph NODO3[NODO 3] + CONTENIDO3[DDD] + SIGUIENTE3[SIGUIENTE] + end + subgraph NODO4[NUEVO NODO] + CONTENIDO4[CCC] + SIGUIENTE4[SIGUIENTE] + end + LISTA --> NODO1 + SIGUIENTE1 --> NODO2 + SIGUIENTE2 -.-> NODO4 + SIGUIENTE4 -.-> NODO3 + SIGUIENTE3 --> NULL + +
  • +
    + ## Comparación entre TADs + + ## Archivo de Cabecera TAD ```C @@ -61,8 +622,8 @@ En este caso el TAD multilistas es un ejemplo de combinación de TADs, en este c ### TAD Multilistas -¡En construcción! Colabora + ### TAD Multiordenadas -¡En construcción! Colabora \ No newline at end of file + \ No newline at end of file From 131b59bcc93fa3d14131ffab7c53037c10512902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Portas=20L=C3=B3pez?= <81629707+TeenBiscuits@users.noreply.github.com> Date: Sat, 6 Apr 2024 20:13:58 +0200 Subject: [PATCH 10/18] =?UTF-8?q?A=C3=B1adida=20Tabla=20de=20Comparaci?= =?UTF-8?q?=C3=B3n=20Entre=20TADs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md b/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md index 5118d9b..c6728ec 100644 --- a/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md +++ b/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md @@ -577,7 +577,15 @@ flowchart TB ## Comparación entre TADs - + + + + + + + + +
    EstáticaSimple EnlaceDoble Enlace
    Necesidad de memoriaMuchaMenos en promedioMenos en promedio (+ que simple enlace)
    Memoria contigua
    Acceso directo
    Ampliable
    Operaciones más costosasinsertItem, deleteAtPosition (excepto al final)insertItem (final), deleteAtPosition (final), previous, last, deleteList, copyListinsertItem (final), last, deleteList, copyList
    Seguridad⚔️😡🛡️😴🛡️😴🛡️
    ## Archivo de Cabecera TAD From dfefdf9fabe2a9c271fcda189cd18e7176074d20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Portas=20L=C3=B3pez?= <81629707+TeenBiscuits@users.noreply.github.com> Date: Sat, 6 Apr 2024 20:58:06 +0200 Subject: [PATCH 11/18] Fix Mermaid Flowcharts Markdown --- docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md b/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md index c6728ec..34e1166 100644 --- a/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md +++ b/docs/topics/03-Apuntes/Pro-2/Tema-3-Listas.md @@ -10,8 +10,6 @@ SPDX-License-Identifier: CC-BY-NC-4.0 # Tema 3 - Listas - - El TAD Lista, especificación informal, implementación y descripción gráfica. Operaciones explicadas de forma gráfica e @@ -33,23 +31,18 @@ relativos unos a otros. title: TAD Lista enlazada simple --- flowchart LR - LISTA - subgraph NODO1[NODO 1] CONTENIDO1[INFORMACIÓN] SIGUIENTE1[SIGUIENTE] end - subgraph NODO2[NODO 2] CONTENIDO2[INFORMACIÓN] SIGUIENTE2[SIGUIENTE] end - subgraph NODO3[NODO 3] CONTENIDO3[INFORMACIÓN] SIGUIENTE3[SIGUIENTE] end - LISTA --> NODO1 SIGUIENTE1 --> NODO2 SIGUIENTE2 --> NODO3 @@ -482,23 +475,18 @@ En caso de ordenación alfabética: title: TAD Lista ordenada enlazada simple --- flowchart LR - LISTA - subgraph NODO1[NODO 1] CONTENIDO1[AAAA] SIGUIENTE1[SIGUIENTE] end - subgraph NODO2[NODO 2] CONTENIDO2[BBBB] SIGUIENTE2[SIGUIENTE] end - subgraph NODO3[NODO 3] CONTENIDO3[CCCC] SIGUIENTE3[SIGUIENTE] end - LISTA --> NODO1 SIGUIENTE1 --> NODO2 SIGUIENTE2 --> NODO3 From 800d2d2103dae7ea5de962e5327c2c36318a0ace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Portas=20L=C3=B3pez?= <81629707+TeenBiscuits@users.noreply.github.com> Date: Sat, 6 Apr 2024 20:58:18 +0200 Subject: [PATCH 12/18] Boceto Inicial Tema 4 --- docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md | 41 +++++++++++++++++++- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md b/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md index b887e83..372f776 100644 --- a/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md +++ b/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md @@ -12,6 +12,43 @@ SPDX-License-Identifier: CC-BY-NC-4.0 -Próximamente... +El TAD Cola, especificación informal, implementación y descripción gráfica. Operaciones explicadas de forma gráfica e +implementadas. - \ No newline at end of file + + +## TAD Colas + +Una cola es una secuencia de cero o más elementos del mismo tipo. Los elementos de una cola están ordenados de una forma +lineal, no por su contenido, sino por la posición que ocupan. + +Cuando un elemento es insertado, simplemente se añade al final de la cola. Para eliminar un elemento, solo se podrá eliminar el primero. Este concepto es descrito como **FIFO** (First in, first out). + + + +Para saber más sobre FIFO. [Wikipedia](https://es.wikipedia.org/wiki/First_in,_first_out) + + + +```mermaid +--- +title: TAD Cola +--- +flowchart LR + subgraph NODO1[NODO 1] + CONTENIDO1[INFORMACIÓN] + SIGUIENTE1[SIGUIENTE] + end + subgraph NODO2[NODO 2] + CONTENIDO2[INFORMACIÓN] + SIGUIENTE2[SIGUIENTE] + end + subgraph NODO3[NODO 3] + CONTENIDO3[INFORMACIÓN] + SIGUIENTE3[SIGUIENTE] + end + ENTRADA --> NODO3 + SIGUIENTE3 --> NODO2 + SIGUIENTE2 --> NODO1 + SIGUIENTE1 --> SALIDA +``` \ No newline at end of file From 107d601fa72dee0ec8aa74afd48bf46f895e41df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Portas=20L=C3=B3pez?= <81629707+TeenBiscuits@users.noreply.github.com> Date: Sat, 6 Apr 2024 20:59:59 +0200 Subject: [PATCH 13/18] Typo en Tema 4 --- docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md b/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md index 372f776..d03d62f 100644 --- a/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md +++ b/docs/topics/03-Apuntes/Pro-2/Tema-4-Colas.md @@ -22,7 +22,7 @@ implementadas. Una cola es una secuencia de cero o más elementos del mismo tipo. Los elementos de una cola están ordenados de una forma lineal, no por su contenido, sino por la posición que ocupan. -Cuando un elemento es insertado, simplemente se añade al final de la cola. Para eliminar un elemento, solo se podrá eliminar el primero. Este concepto es descrito como **FIFO** (First in, first out). +Cuando un elemento es insertado se añade al principio de la cola. Para eliminar un elemento, solo se podrá eliminar el primero. Este concepto es descrito como **FIFO** (First in, first out). From 96067ba4521c57f9d6191c4f679ff9b59d93910d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Portas=20L=C3=B3pez?= <81629707+TeenBiscuits@users.noreply.github.com> Date: Sun, 7 Apr 2024 18:13:08 +0200 Subject: [PATCH 14/18] Movido aviso de Licencia y Copyright --- docs/cfg/analytics.js | 7 +------ docs/cfg/buildprofiles.xml | 4 ++-- docs/cfg/google-site-verification.html | 1 - docs/cfg/header.html | 6 ++++++ 4 files changed, 9 insertions(+), 9 deletions(-) delete mode 100644 docs/cfg/google-site-verification.html create mode 100644 docs/cfg/header.html diff --git a/docs/cfg/analytics.js b/docs/cfg/analytics.js index 3961eaf..890c81a 100644 --- a/docs/cfg/analytics.js +++ b/docs/cfg/analytics.js @@ -1,9 +1,4 @@ - - +