SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Definición de TDAs usando BNF
               Estructura de Datos – FIEC03012




                                            1
Tabla de Contenidos


TDA Arreglo Unidimensional ....................................................... 3
  Definición ........................................................................................................... 3
  Operaciones........................................................................................................ 3
    Básicas ........................................................................................................... 3
    Extendidas...................................................................................................... 3
TDA Lista Simple (LSE) ............................................................ 4
  Definición ........................................................................................................... 4
  Operaciones........................................................................................................ 4
TDA Lista Simple Ordenada (LSO) ................................................. 5
  Definición ........................................................................................................... 5
  Operaciones........................................................................................................ 5
TDA Lista Doblemente Enlazada (LDE) ............................................ 6
  Definición ........................................................................................................... 6
  Operaciones........................................................................................................ 6
TDA Pila ........................................................................... 7
  Definición ........................................................................................................... 7
  Operaciones........................................................................................................ 7
TDA Cola .......................................................................... 8
  Definición ........................................................................................................... 8
  Operaciones........................................................................................................ 8
TDA Árbol.......................................................................... 9
  Definición ........................................................................................................... 9
  Operaciones........................................................................................................ 9
TDA Árbol Binario (AB) ........................................................... 10
  Definición ......................................................................................................... 10
  Operaciones...................................................................................................... 10
TDA Árbol Binario Búsqueda (ABB)............................................... 11
  Definición ......................................................................................................... 11
  Operaciones...................................................................................................... 11
TDA Árbol Adelson, Velkii & Landis (AVL) ........................................ 12
  Definición ......................................................................................................... 12
  Operaciones...................................................................................................... 12
TDA Árbol B (AB) ................................................................ 13
  Definición ......................................................................................................... 13
  Operaciones...................................................................................................... 13
TDA Grafo ....................................................................... 14
  Definición ......................................................................................................... 14
  Operaciones...................................................................................................... 14




                                                                                                                        2
TDA Arreglo Unidimensional

    Definición

        <arreglo> ::= {<elemento> 0, ... , <elemento><iterador>, ...
        <elemento> <<NUM_ELEM>>-1 }
        <iterador> ::= (0,...,<<NUM_ELEM>>-1)
        <elemento>::= <<dato>>|<<dato>>{<<dato>>}



    Operaciones
        Básicas
        Constructor y Destructor
               A1D_Crear (nombreArreglo, rangoIndice, tipoBase)
               A1D_Eliminar(nombreArreglo)

        Selector
               A1D_AccederElemento (nombreArreglo, indiceSelección)

               El selector puede usarse para:
                   o extraer un valor del arreglo
                   o modificar el valor de una celda del arreglo

        Extendidas
        Dependen del tipoBase, por ejemplo:
               A1D_Ordenar(nombreArreglo, tipoOrdenamiento)
               A1D_BuscarElemento(nombreArreglo, elemento): indiceSelección




                                                                              3
TDA Lista Simple (LSE)

    Definición

        <listaSimple> ::= <comienzo> + {<nodo>}
        <nodo> ::= <contenido> + <enlace>
        <contenido> ::= <<dato>>{<<dato>>}
        <enlace> ::= (<<referencia_nodo>> | NULL)
        <comienzo> :: =<enlace>


    Operaciones


        Creación/Destrucción
               LSE_Crear(nombreLista)
               LSE_Eliminar(nombreLista)

        Comprobación de Estado
               LSE_EstaVacia(nombreLista) : Booleano
               LSE_EstaVacia(referenciaNodo) : Booleano
               LSE_EstaLlena(nombreLista) : Booleano

        Inserción de Nodos
               LSE_InsertarNodo(nombreLista, nodo, posicion)
               LSE_InsertarNodo(nombreLista, nodo)

        Borrado de Nodos
               LSE_BorrarNodo(nombreLista, nodo)

        Búsqueda de un nodo
               LSE_BuscarNodo(nombreLista, dato) : contenido
               LSE_BuscarNodo(nombreLista, dato) : referenciaNodo
               LSE_EsNodoDeLista(nombreLista,nodo) : Booleano

        Recorrido de la lista
               LSE_Recorrer(nombreLista )

        Modificación de Nodos
               LSE_AsignarContenidoNodo(referenciaNodo, valorContenido)
               LSE_AsignarEnlaceNodo(referenciaNodo, valorEnlace)

        Acceso a los nodos
               LSE_ContenidoNodo(referenciaNodo) : contenido
               LSE_SiguienteNodo(referenciaNodo) : enlace




                                                                          4
TDA Lista Simple Ordenada (LSO)

Definición

      <listaOrdenada> ::= <comienzo> + {<nodo>}
      <comienzo> ::= <enlace>
      <enlace> ::= (<<referencia_nodo>> | NULL)
      <nodo> ::= <clave> + <contenido> + <enlace>
      <clave> ::= <<dato>>{<<dato>>}
      <contenido> ::= {<<dato>>}

Operaciones

Creación/Eliminación
      LSO_Crear(nombreLista)
      LSO_Eliminar(nombreLista)

Comprobación de Estado
      LSO_EstaVacia(nombreLista) : Booleano
      LSO_EstaVacia(referenciaNodo) : Booleano
      LSO_EstaLlena(nombreLista) : Booleano

Inserción de Nodos
      LSO_InsertarNodo(nombreLista, valorClave, nodo)

Borrado de Nodos
      LSO_BorrarNodo(nombreLista, valorClave)

Búsqueda de un nodo
      LSO_BuscarNodo(nombreLista, valorClave) : informacion
      LSO_BuscarNodo(nombreLista, valorClave) : referenciaNodo
      LSO_EsNodoDeLista(nombreLista, valorClave) : Booleano

Recorrido
      LSO_Recorrer(nombreLista )

Modificación de Nodos
      LSO_AsignarContenidoNodo(referenciaNodo, valorContenido)
      LSO_AsignarEnlaceNodo(referenciaNodo, valorEnlace)
      LSO_AsignarEnlaceNodo(referenciaNodo, valorClave)


Acceso a los nodos
      LSO_ContenidoNodo(referenciaNodo) : contenido
      LSO_SiguienteNodo(referenciaNodo) : enlace
      LSO_ClaveNodo(referenciaNodo) : clave




                                                                 5
TDA Lista Doblemente Enlazada (LDE)

    Definición

        <lde> ::= <comienzo> + {<nodo>}
        <comienzo> :: = <enlace>
        <enlace> ::= (<<referencia_nodo>> | NULL)
        <nodo> ::= <contenido>+<predecesor>+<sucesor>
        <predecesor> ::= <enlace>
        <sucesor> ::= <enlace>
        < contenido > ::= <<dato>>{<<dato>>}

    Operaciones


        Creación/Destrucción
               LDE_Crear(nombreLista)
               LDE_Eliminar(nombreLista)

        Comprobación de Estado
               LDE_EstaVacia(nombreLista) : Booleano
               LDE_EstaVacia(referenciaNodo) : Booleano
               LDE_EstaLlena(nombreLista) : Booleano

        Inserción de Nodos
               LDE_InsertarNodo(nombreLista, nodo, posicion)
               LDE_InsertarNodo(nombreLista, nodo)

        Borrado de Nodos
               LDE_BorrarNodo(nombreLista, valorInfo)

        Búsqueda de un nodo
               LDE_BuscarNodo(nombreLista, dato) : contenido
               LDE_BuscarNodo(nombreLista, dato) : referenciaNodo
               LDE_EsNodoDeLista(nombreLista,nodo) : Booleano

        Recorrido de la lista
               LDE_Recorrer(nombreLista )

        Modificación de Nodos
               LDE_AsignarContenidoNodo(referenciaNodo, valorContenido)
               LDE_AsignarEnlaceNodo(referenciaNodo, valorEnlace)

        Acceso a los nodos
               LDE_ContenidoNodo(referenciaNodo) : contenido
               LDE_SiguienteNodo(referenciaNodo) : enlace
               LDE_AnteriorNodo(referenciaNodo) : enlace




                                                                          6
TDA Pila

    Definición

           <pila> ::= <cabecera> + {<nodo>}
           <cabecera> ::= <enlace>
           <enlace> ::= (<<ReferenciaNodo>> | NULL)
           <nodo> ::= <contenido> + <enlace>
           <contenido> ::= <<dato>>{<<dato>>}

    Operaciones


           Creación/Destrucción
                      Pila_Crear(nombrePila)
                      Pila_Eliminar(nombrePila)

           Comprobación de Estado
                      Pila_EstaVacia(nombrePila) : Booleano
                      Pila_EstaLlena(nombrePila) : Booleano

           Inserción de Nodos
                      Pila_InsertarNodo(nombrePila, nodo) 1

           Extracción de Nodos
                      Pila_SacarNodo(nombrePila): nodo2

           Acceso a la cabecera
                      Pila_Tope(nombrePila): nodo




           1
               Push
           2
               Pop



                                                              7
TDA Cola

    Definición

        <cola> ::= <frente> + <final> + {<nodo>}
        <frente> ::= <enlace>
        <enlace> ::= (<<ReferenciaNodo>> | NULL)
        <final> ::= <enlace>
        <nodo> ::= <contenido> + <enlace>
        <contenido> ::= <<dato>>{<<dato>>}

    Operaciones


        Creación/Destrucción
                   Cola_Crear(nombreCola)
                   Cola_Eliminar(nombreCola)

        Comprobación de Estado
                   Cola_EstaVacia(nombreCola) : Booleano
                   Cola_EstaLlena(nombreCola) : Booleano

        Inserción de Nodos
                   Cola_InsertarNodo(nombreCola, nodo) 3

        Extracción de Nodos
                   Cola_SacarNodo(nombreCola): nodo 4

        Acceso a la cabecera
                   Cola_Tope(nombreCola): nodo




        3
            Push
        4
            Pop



                                                           8
TDA Árbol

    Definición

        <arbol> ::= <<NULL>> | <nodo>
        <nodo> ::= <contenido>{<arbol>}
        <contenido> ::= <<dato>>{<<dato>>}

    Operaciones

        Dependen de las características particulares del árbol




                                                                 9
TDA Árbol Binario (AB)

    Definición

        <arbol>::= nulo | <nodo>
        <nodo>::=<contenido>+<izq>+<der>
        <izq>::=<arbol>
        <der>::=<arbol>
        <contenido>::<<dato>>|{<<dato>>}

    Operaciones


        Creación/Destrucción
              ABin_Crear(nombreArbol)
              ABin_Eliminar(nombreArbol)

        Comprobación de Estado
              ABin_EstaVacio(nombreArbol) : Booleano
              ABin_EstaLleno(nombreArbol) : Booleano

        Inserción de Nodos
              ABin_InsertarNodo(nombreArbol, nodo)

        Extracción de Nodos
              ABinl_SacarNodo(nombreArbol, nodo): nodo

        Búsqueda de Nodo
              ABin_Buscar(nombreArbol, contenido ): nodo

        Recorrido
              ABin_Recorrer(nombreArbol, tipoRecorrido)

        Modificación de Nodos
              ABin_AsignarContenidoNodo(referenciaNodo, valorContenido)
              ABin_AsignarEnlaceIzqNodo(referenciaNodo, valo rEnlace)
              ABin_AsignarEnlaceDerNodo(referenciaNodo, valorEnlace)

        Acceso a los nodos
              ABin_ContenidoNodo(referenciaNodo) : contenido
              ABin_IzqNodo(referenciaNodo) : enlace
              Abin_DerNodo(referenciaNodo) : enlace
              Abin_EsHojaNodo(referenciaNodo) : bool




                                                                          10
TDA Árbol Binario Búsqueda (ABB)

    Definición

        <abb>::= <<NULL>> | <nodo>
        <nodo>::=<clave>+<contenido>+<izq>+<der>
        <izq>::=<arbol>
        <der>::=<arbol>
        <clave>::<<dato>>|{<<dato>>}
        <contenido>::<<dato>>|{<<dato>>}

    Operaciones


        Creación/Destrucción
              ABB_Crear(nombreArbol)
              ABB_Eliminar(nombreArbol)

        Comprobación de Estado
              ABB_EstaVacio(nombreArbol) : Booleano
              ABB_EstaLleno(nombreArbol) : Booleano

        Inserción de Nodos
              ABB_InsertarNodo(nombreArbol, nodo, valorClave)

        Extracción de Nodos
              ABB_SacarNodo(nombreArbol, valorClave): nodo

        Búsqueda de Nodo
              ABB_Buscar(nombreArbol, valorClave): nodo

        Recorrido
              ABB_Recorrer(nombreArbol, tipoRecorrido)

        Modificación de Nodos
              ABB_AsignarContenidoNodo(referenciaNodo, valorContenido)
              ABB_AsignarEnlaceIzqNodo(referenciaNo do, valorEnlace)
              ABB_AsignarEnlaceDerNodo(referenciaNodo, valorEnlace)

        Acceso a los nodos
              ABB_ClaveNodo(referenciaNodo) : clave
              ABB_ContenidoNodo(referenciaNodo) : contenido
              ABB_IzqNodo(referenciaNodo) : enlace
              ABB_DerNodo(referenciaNodo) : enlace
              ABB_EsHojaNodo(referenciaNodo) : bool




                                                                         11
TDA Árbol Adelson, Velkii & Landis (AVL)

    Definición

        <avl>::= <<NULL>> | <nodo>
        <nodo>::=<clave>+<contenido>+<izq>+<der>+<factor_equilibrio>
        <izq>::=<arbol>
        <der>::=<arbol>
        <clave>::<<dato>>|{<<dato>>}
        <contenido>::<<dato>>|{<<dato>>}
        < factor_equilibrio> ::= (<<-1>> | <<0>> | <<1>>)

    Operaciones

        Creación/Destrucción
               AVL_Crear(nombreArbol)
               AVL_Eliminar(nombreArbol)

        Comprobación de Estado
               AVL_EstaVacio(nombreArbol) : Booleano
               AVL_EstaLleno(nombreArbol) : B ooleano

        Inserción de Nodos
               AVL_InsertarNodo(nombreArbol, nodo, valorClave)

        Extracción de Nodos
               AVL_SacarNodo(nombreArbol, valorClave): nodo

        Búsqueda de Nodo
               AVL_Buscar(nombreArbol, valorClave): nodo

        Recorrido
               AVL_Recorrer(nombreArbol, tipoRecorrido)

        Modificación de Nodos
               AVL_AsignarContenidoNodo(referenciaNodo, valorContenido)
               AVL_AsignarEnlaceIzqNodo(referenciaNodo, valorEnlace)
               AVL_AsignarEnlaceDerNodo(referenciaNodo, valorEnlace)

        Acceso a los nodos
               AVL_ClaveNodo(referenciaNodo) : clave
               AVL_ContenidoNodo(referenciaNodo) : contenido
               AVL_IzqNodo(referenciaNodo) : enlace
               AVL_DerNodo(referenciaNodo) : enlace
               AVL_EsHojaNodo(referenciaNodo) : bool

        Equilibrio
               AVL_II(referenciaNodo)
               AVL_ID(referenciaNodo)
               AVL_DD(referenciaNodo)
               AVL_DI(referenciaNodo)




                                                                          12
TDA Árbol B (AB)

    Definición

        <arbolB> ::= <raiz> + {<pagina>}
        <raiz> ::= <enlace>
        <enlace> ::= (<<referencia_pagina>> | NULL)
        <pagina>::= <<numero_elementos>> + <antecesora> +
        <nodo>{<nodo>}
        <antecesora> ::= <enlace>
        <nodo> ::= <clave> + <contenido> + <siguiente>
        <clave> ::= <<dato>>{<<dato>>}
        <dato> ::= {<<dato>>}
        <siguiente> ::= <enlace>

    Operaciones

        Creación/Destrucción
              AB_Crear(nombreArbol)
              AB_Eliminar(nombreArbol)

        Comprobación de Estado
              AB_EstaVacio(nombreArbol) : Booleano
              AB_EstaLleno(nombreArbol) : Booleano

        Inserción de Nodos
              AB_InsertarNodo(nombreArbol, nodo, valorClave)

        Extracción de Nodos
              AB_SacarNodo(nombreArbol, valorClave): nodo

        Búsqueda de Nodo
              AB_Buscar(nombreArbol, valorClave): nodo

        Recorrido
              AB_Recorrer(nombreArbol, tipoRecorrido)

        Modificación de Nodos
              AB_AsignarContenidoNodo(referenciaNodo, valorContenido)
              AB_AsignarEnlaceIzqNodo(referenciaNodo, valorEnlace)
              AB_AsignarEnlaceDerNodo(referenciaNodo, valorEnlace)

        Acceso a los nodos
              AB_ClaveNodo(referenciaNodo) : clave
              AB_ContenidoNodo(referenciaNodo) : contenido
              AB_IzqNodo(referenciaNodo) : enlace
              AB_DerNodo(referenciaNodo) : enlace
              AB_EsHojaNodo(referenciaNodo) : bool




                                                                        13
TDA Grafo

    Definición

        <grafo> :: = {<vertice>} + {<arista>}
        <vertice> ::= <<refVertice>> + [<<contenido>>]
        <arista> ::= <<refVertice>> + <<refVertice>>


        <grafoEtiquetado> :: = {<vertice>} + {<aristaEtiquetada>}
        <vertice> ::= <<refVertice>> + [<<contenido>>]
        <aristaEtiquetada> ::= <<refVertice>>+<<refVertice>>+<<etiqueta>>

    Operaciones

        Creación/Destrucción
              GRAFO_Crear(nombreGrafo)
              GRAFO_Eliminar(nombreGrafo)

        Comprobación de Estado
              GRAFO_EstaVacio(nombreGrafo) : Booleano
              GRAFO_EstaLleno(nombreGrafo) : Booleano

        Inserción
              GRAFO_InsertarVertice(nombreGrafo, vertice)
              GRAFO_InsertarArista(nombreGrafo, vertice1, vertice2)

        Extracción
              GRAFO_SacarVertice(nombreGrafo, vertice): vertice
              GRAFO_SacarArista(nombreGrafo, arista): arista

        Búsqueda
              GRAFO_Buscar(nombreGrafo, contenido): vertice

        Recorrido
              GRAFO_Recorrer(nombreGrafo, tipoRecorrido)

        Acceso a los vértices
              GRAFO_ContenidoVertice(referenciaVertice) : contenido
              GRAFO_GradoVertice (referenciaVertice) : entero
              GRAFO_GradoEntranteVertice (referenciaVertice) : entero
              GRAFO_GradoSalienteVertice (referenciaVertice) : entero
              GRAFO_AdyacentesVertice (referenciaVertice) : {referenciaVertice}
              GRAFO_IncidentesVertice (referenciaVertice) : {referenciaArista}
              GRAFO_SonAdyacentes(referenciaVertice1, referenciaVertice2) :bool

        Acceso a las aristas
              GRAFO_VerticesArista(referenciaArista) : {refVertice1, refVertice2}
              GRAFO_DestinoArista(referenciaArista) : refVertice
              GRAFO_OrigenArista(referenciaArista) : refVertice
              GRAFO_EtiquetaArista(referenciaArista) : etiqueta




                                                                                    14
Modificación de Vértices
      GRAFO_AsignarContenidoVertice(referenciaVertice, valorContenido)

Modificación de Aristas
      GRAFO_AsignarEtiquetaArista(referenciaArista, valorEtiqueta)




                                                                         15

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

6. Utilización del modelo de objetos del documento (DOM)
6. Utilización del modelo de objetos del documento (DOM)6. Utilización del modelo de objetos del documento (DOM)
6. Utilización del modelo de objetos del documento (DOM)
 
Precentacion de sql visual
Precentacion de sql visualPrecentacion de sql visual
Precentacion de sql visual
 
Active x data object ado.net
Active x data object ado.netActive x data object ado.net
Active x data object ado.net
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
Primeros pasos con Neo4j
Primeros pasos con Neo4jPrimeros pasos con Neo4j
Primeros pasos con Neo4j
 
Jpa
JpaJpa
Jpa
 
2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje
 
Introducción a XML Schema
Introducción a XML SchemaIntroducción a XML Schema
Introducción a XML Schema
 
Hibernate - JPA @luce 5
Hibernate - JPA @luce 5Hibernate - JPA @luce 5
Hibernate - JPA @luce 5
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)
 
PHP - MYSQL
PHP - MYSQLPHP - MYSQL
PHP - MYSQL
 
Comandos r
Comandos rComandos r
Comandos r
 
(86)resumen visual basic
(86)resumen visual basic(86)resumen visual basic
(86)resumen visual basic
 
16 Alternativas XML
16 Alternativas XML16 Alternativas XML
16 Alternativas XML
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
S8-BDD
S8-BDDS8-BDD
S8-BDD
 
Bases de Datos en Java - Intro a Hibernate
Bases de Datos en Java - Intro a HibernateBases de Datos en Java - Intro a Hibernate
Bases de Datos en Java - Intro a Hibernate
 
Unidad4 sql
Unidad4 sqlUnidad4 sql
Unidad4 sql
 
Manejo de estructuras de datos
Manejo de estructuras de datosManejo de estructuras de datos
Manejo de estructuras de datos
 
S8-POO-4.2 BDD
S8-POO-4.2 BDDS8-POO-4.2 BDD
S8-POO-4.2 BDD
 

Destacado

Vaca voladora
Vaca voladoraVaca voladora
Vaca voladoraAMRallo
 
Workshop 2 3
Workshop 2 3Workshop 2 3
Workshop 2 3psimoni
 
Amigo oculto e proinfo
Amigo oculto e proinfoAmigo oculto e proinfo
Amigo oculto e proinfovlopere1624
 
Citacions e referencias, por Carlos Biscainho
Citacions e referencias, por Carlos BiscainhoCitacions e referencias, por Carlos Biscainho
Citacions e referencias, por Carlos BiscainhoCarlos Caetano Fernandes
 
Luiz cortez na III Semana Saude e Meio Ambiente Santa Marcelina
Luiz cortez na III Semana Saude e Meio Ambiente Santa MarcelinaLuiz cortez na III Semana Saude e Meio Ambiente Santa Marcelina
Luiz cortez na III Semana Saude e Meio Ambiente Santa MarcelinaSantaMarcelinaMeioAmbiente
 
ÉBOLA, MITO O REALIDAD
ÉBOLA, MITO O REALIDADÉBOLA, MITO O REALIDAD
ÉBOLA, MITO O REALIDADfernanda2507
 
Propuesta guiadev4agosto
Propuesta guiadev4agostoPropuesta guiadev4agosto
Propuesta guiadev4agostoOscar Machorro
 
Real Madrid 23/11/10
Real Madrid 23/11/10Real Madrid 23/11/10
Real Madrid 23/11/10rockvine
 
8 dicas para quem quer começar um blog.
8 dicas para quem quer começar um blog.8 dicas para quem quer começar um blog.
8 dicas para quem quer começar um blog.8D Propaganda
 
ビジュアル系高専生(つくってみたコンテスト)
ビジュアル系高専生(つくってみたコンテスト)ビジュアル系高専生(つくってみたコンテスト)
ビジュアル系高専生(つくってみたコンテスト)Daichi OBINATA
 
presentacion principal
presentacion principalpresentacion principal
presentacion principalatenear
 
Informe Rural - 26/09/13
Informe Rural - 26/09/13Informe Rural - 26/09/13
Informe Rural - 26/09/13Informe Rural
 
Esto es Como en Casa
Esto es Como en CasaEsto es Como en Casa
Esto es Como en Casacharlyslide1
 
Presentación miguel de cervantes
Presentación miguel de cervantesPresentación miguel de cervantes
Presentación miguel de cervantesElisadelengua
 

Destacado (20)

Adriana psicóloga
Adriana   psicólogaAdriana   psicóloga
Adriana psicóloga
 
Vaca voladora
Vaca voladoraVaca voladora
Vaca voladora
 
Workshop 2 3
Workshop 2 3Workshop 2 3
Workshop 2 3
 
Relatorio 2011 meio_ambiente
Relatorio 2011 meio_ambienteRelatorio 2011 meio_ambiente
Relatorio 2011 meio_ambiente
 
Amigo oculto e proinfo
Amigo oculto e proinfoAmigo oculto e proinfo
Amigo oculto e proinfo
 
Presentation1
Presentation1Presentation1
Presentation1
 
Citacions e referencias, por Carlos Biscainho
Citacions e referencias, por Carlos BiscainhoCitacions e referencias, por Carlos Biscainho
Citacions e referencias, por Carlos Biscainho
 
Luiz cortez na III Semana Saude e Meio Ambiente Santa Marcelina
Luiz cortez na III Semana Saude e Meio Ambiente Santa MarcelinaLuiz cortez na III Semana Saude e Meio Ambiente Santa Marcelina
Luiz cortez na III Semana Saude e Meio Ambiente Santa Marcelina
 
1 aula-de-metodos
1 aula-de-metodos1 aula-de-metodos
1 aula-de-metodos
 
Liberatec
LiberatecLiberatec
Liberatec
 
ÉBOLA, MITO O REALIDAD
ÉBOLA, MITO O REALIDADÉBOLA, MITO O REALIDAD
ÉBOLA, MITO O REALIDAD
 
Propuesta guiadev4agosto
Propuesta guiadev4agostoPropuesta guiadev4agosto
Propuesta guiadev4agosto
 
Real Madrid 23/11/10
Real Madrid 23/11/10Real Madrid 23/11/10
Real Madrid 23/11/10
 
8 dicas para quem quer começar um blog.
8 dicas para quem quer começar um blog.8 dicas para quem quer começar um blog.
8 dicas para quem quer começar um blog.
 
ビジュアル系高専生(つくってみたコンテスト)
ビジュアル系高専生(つくってみたコンテスト)ビジュアル系高専生(つくってみたコンテスト)
ビジュアル系高専生(つくってみたコンテスト)
 
presentacion principal
presentacion principalpresentacion principal
presentacion principal
 
Informe Rural - 26/09/13
Informe Rural - 26/09/13Informe Rural - 26/09/13
Informe Rural - 26/09/13
 
Esto es Como en Casa
Esto es Como en CasaEsto es Como en Casa
Esto es Como en Casa
 
Encuentro 5 2014
Encuentro 5 2014Encuentro 5 2014
Encuentro 5 2014
 
Presentación miguel de cervantes
Presentación miguel de cervantesPresentación miguel de cervantes
Presentación miguel de cervantes
 

Similar a ED 02 0_tda_definicion_td_as-bnf

Similar a ED 02 0_tda_definicion_td_as-bnf (20)

C6_PROGRAMACION_c.pptx
C6_PROGRAMACION_c.pptxC6_PROGRAMACION_c.pptx
C6_PROGRAMACION_c.pptx
 
7. Listas.ppt
7. Listas.ppt7. Listas.ppt
7. Listas.ppt
 
COMANDOS DDL
COMANDOS DDLCOMANDOS DDL
COMANDOS DDL
 
Comandos vb
Comandos vbComandos vb
Comandos vb
 
Vb net bd_2005_02
Vb net bd_2005_02Vb net bd_2005_02
Vb net bd_2005_02
 
Profe pitta
Profe pittaProfe pitta
Profe pitta
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
 
Ado.Net
Ado.NetAdo.Net
Ado.Net
 
Manejo De Sentencias De Definicion
Manejo De Sentencias De DefinicionManejo De Sentencias De Definicion
Manejo De Sentencias De Definicion
 
Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2
 
Django y Python para todos
Django y Python para todosDjango y Python para todos
Django y Python para todos
 
Bases De Datos My Sql
Bases De Datos My SqlBases De Datos My Sql
Bases De Datos My Sql
 
Cheat_MySQL.docx
Cheat_MySQL.docxCheat_MySQL.docx
Cheat_MySQL.docx
 
Tsql
TsqlTsql
Tsql
 
Investigacion alter, create y integridad referencial
Investigacion alter, create y integridad referencialInvestigacion alter, create y integridad referencial
Investigacion alter, create y integridad referencial
 
Listas
ListasListas
Listas
 
Tema 4 5_1_acceso_datos
Tema 4 5_1_acceso_datosTema 4 5_1_acceso_datos
Tema 4 5_1_acceso_datos
 
Objeto Sql Command
Objeto Sql CommandObjeto Sql Command
Objeto Sql Command
 
Programacion
ProgramacionProgramacion
Programacion
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
 

Más de A J

ED 03 2_listas especiales
ED 03 2_listas especialesED 03 2_listas especiales
ED 03 2_listas especialesA J
 
ED 03 1_listas
ED 03 1_listasED 03 1_listas
ED 03 1_listasA J
 
ED 02 2_tda_arra_u
ED 02 2_tda_arra_uED 02 2_tda_arra_u
ED 02 2_tda_arra_uA J
 
ED 02 1_tda
ED 02 1_tdaED 02 1_tda
ED 02 1_tdaA J
 
ED 01 tipos_datos_ejercicios
ED 01 tipos_datos_ejerciciosED 01 tipos_datos_ejercicios
ED 01 tipos_datos_ejerciciosA J
 
ED 01 tipos_datos
ED 01 tipos_datosED 01 tipos_datos
ED 01 tipos_datosA J
 

Más de A J (6)

ED 03 2_listas especiales
ED 03 2_listas especialesED 03 2_listas especiales
ED 03 2_listas especiales
 
ED 03 1_listas
ED 03 1_listasED 03 1_listas
ED 03 1_listas
 
ED 02 2_tda_arra_u
ED 02 2_tda_arra_uED 02 2_tda_arra_u
ED 02 2_tda_arra_u
 
ED 02 1_tda
ED 02 1_tdaED 02 1_tda
ED 02 1_tda
 
ED 01 tipos_datos_ejercicios
ED 01 tipos_datos_ejerciciosED 01 tipos_datos_ejercicios
ED 01 tipos_datos_ejercicios
 
ED 01 tipos_datos
ED 01 tipos_datosED 01 tipos_datos
ED 01 tipos_datos
 

Último

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 

Último (20)

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 

ED 02 0_tda_definicion_td_as-bnf

  • 1. Definición de TDAs usando BNF Estructura de Datos – FIEC03012 1
  • 2. Tabla de Contenidos TDA Arreglo Unidimensional ....................................................... 3 Definición ........................................................................................................... 3 Operaciones........................................................................................................ 3 Básicas ........................................................................................................... 3 Extendidas...................................................................................................... 3 TDA Lista Simple (LSE) ............................................................ 4 Definición ........................................................................................................... 4 Operaciones........................................................................................................ 4 TDA Lista Simple Ordenada (LSO) ................................................. 5 Definición ........................................................................................................... 5 Operaciones........................................................................................................ 5 TDA Lista Doblemente Enlazada (LDE) ............................................ 6 Definición ........................................................................................................... 6 Operaciones........................................................................................................ 6 TDA Pila ........................................................................... 7 Definición ........................................................................................................... 7 Operaciones........................................................................................................ 7 TDA Cola .......................................................................... 8 Definición ........................................................................................................... 8 Operaciones........................................................................................................ 8 TDA Árbol.......................................................................... 9 Definición ........................................................................................................... 9 Operaciones........................................................................................................ 9 TDA Árbol Binario (AB) ........................................................... 10 Definición ......................................................................................................... 10 Operaciones...................................................................................................... 10 TDA Árbol Binario Búsqueda (ABB)............................................... 11 Definición ......................................................................................................... 11 Operaciones...................................................................................................... 11 TDA Árbol Adelson, Velkii & Landis (AVL) ........................................ 12 Definición ......................................................................................................... 12 Operaciones...................................................................................................... 12 TDA Árbol B (AB) ................................................................ 13 Definición ......................................................................................................... 13 Operaciones...................................................................................................... 13 TDA Grafo ....................................................................... 14 Definición ......................................................................................................... 14 Operaciones...................................................................................................... 14 2
  • 3. TDA Arreglo Unidimensional Definición <arreglo> ::= {<elemento> 0, ... , <elemento><iterador>, ... <elemento> <<NUM_ELEM>>-1 } <iterador> ::= (0,...,<<NUM_ELEM>>-1) <elemento>::= <<dato>>|<<dato>>{<<dato>>} Operaciones Básicas Constructor y Destructor A1D_Crear (nombreArreglo, rangoIndice, tipoBase) A1D_Eliminar(nombreArreglo) Selector A1D_AccederElemento (nombreArreglo, indiceSelección) El selector puede usarse para: o extraer un valor del arreglo o modificar el valor de una celda del arreglo Extendidas Dependen del tipoBase, por ejemplo: A1D_Ordenar(nombreArreglo, tipoOrdenamiento) A1D_BuscarElemento(nombreArreglo, elemento): indiceSelección 3
  • 4. TDA Lista Simple (LSE) Definición <listaSimple> ::= <comienzo> + {<nodo>} <nodo> ::= <contenido> + <enlace> <contenido> ::= <<dato>>{<<dato>>} <enlace> ::= (<<referencia_nodo>> | NULL) <comienzo> :: =<enlace> Operaciones Creación/Destrucción LSE_Crear(nombreLista) LSE_Eliminar(nombreLista) Comprobación de Estado LSE_EstaVacia(nombreLista) : Booleano LSE_EstaVacia(referenciaNodo) : Booleano LSE_EstaLlena(nombreLista) : Booleano Inserción de Nodos LSE_InsertarNodo(nombreLista, nodo, posicion) LSE_InsertarNodo(nombreLista, nodo) Borrado de Nodos LSE_BorrarNodo(nombreLista, nodo) Búsqueda de un nodo LSE_BuscarNodo(nombreLista, dato) : contenido LSE_BuscarNodo(nombreLista, dato) : referenciaNodo LSE_EsNodoDeLista(nombreLista,nodo) : Booleano Recorrido de la lista LSE_Recorrer(nombreLista ) Modificación de Nodos LSE_AsignarContenidoNodo(referenciaNodo, valorContenido) LSE_AsignarEnlaceNodo(referenciaNodo, valorEnlace) Acceso a los nodos LSE_ContenidoNodo(referenciaNodo) : contenido LSE_SiguienteNodo(referenciaNodo) : enlace 4
  • 5. TDA Lista Simple Ordenada (LSO) Definición <listaOrdenada> ::= <comienzo> + {<nodo>} <comienzo> ::= <enlace> <enlace> ::= (<<referencia_nodo>> | NULL) <nodo> ::= <clave> + <contenido> + <enlace> <clave> ::= <<dato>>{<<dato>>} <contenido> ::= {<<dato>>} Operaciones Creación/Eliminación LSO_Crear(nombreLista) LSO_Eliminar(nombreLista) Comprobación de Estado LSO_EstaVacia(nombreLista) : Booleano LSO_EstaVacia(referenciaNodo) : Booleano LSO_EstaLlena(nombreLista) : Booleano Inserción de Nodos LSO_InsertarNodo(nombreLista, valorClave, nodo) Borrado de Nodos LSO_BorrarNodo(nombreLista, valorClave) Búsqueda de un nodo LSO_BuscarNodo(nombreLista, valorClave) : informacion LSO_BuscarNodo(nombreLista, valorClave) : referenciaNodo LSO_EsNodoDeLista(nombreLista, valorClave) : Booleano Recorrido LSO_Recorrer(nombreLista ) Modificación de Nodos LSO_AsignarContenidoNodo(referenciaNodo, valorContenido) LSO_AsignarEnlaceNodo(referenciaNodo, valorEnlace) LSO_AsignarEnlaceNodo(referenciaNodo, valorClave) Acceso a los nodos LSO_ContenidoNodo(referenciaNodo) : contenido LSO_SiguienteNodo(referenciaNodo) : enlace LSO_ClaveNodo(referenciaNodo) : clave 5
  • 6. TDA Lista Doblemente Enlazada (LDE) Definición <lde> ::= <comienzo> + {<nodo>} <comienzo> :: = <enlace> <enlace> ::= (<<referencia_nodo>> | NULL) <nodo> ::= <contenido>+<predecesor>+<sucesor> <predecesor> ::= <enlace> <sucesor> ::= <enlace> < contenido > ::= <<dato>>{<<dato>>} Operaciones Creación/Destrucción LDE_Crear(nombreLista) LDE_Eliminar(nombreLista) Comprobación de Estado LDE_EstaVacia(nombreLista) : Booleano LDE_EstaVacia(referenciaNodo) : Booleano LDE_EstaLlena(nombreLista) : Booleano Inserción de Nodos LDE_InsertarNodo(nombreLista, nodo, posicion) LDE_InsertarNodo(nombreLista, nodo) Borrado de Nodos LDE_BorrarNodo(nombreLista, valorInfo) Búsqueda de un nodo LDE_BuscarNodo(nombreLista, dato) : contenido LDE_BuscarNodo(nombreLista, dato) : referenciaNodo LDE_EsNodoDeLista(nombreLista,nodo) : Booleano Recorrido de la lista LDE_Recorrer(nombreLista ) Modificación de Nodos LDE_AsignarContenidoNodo(referenciaNodo, valorContenido) LDE_AsignarEnlaceNodo(referenciaNodo, valorEnlace) Acceso a los nodos LDE_ContenidoNodo(referenciaNodo) : contenido LDE_SiguienteNodo(referenciaNodo) : enlace LDE_AnteriorNodo(referenciaNodo) : enlace 6
  • 7. TDA Pila Definición <pila> ::= <cabecera> + {<nodo>} <cabecera> ::= <enlace> <enlace> ::= (<<ReferenciaNodo>> | NULL) <nodo> ::= <contenido> + <enlace> <contenido> ::= <<dato>>{<<dato>>} Operaciones Creación/Destrucción Pila_Crear(nombrePila) Pila_Eliminar(nombrePila) Comprobación de Estado Pila_EstaVacia(nombrePila) : Booleano Pila_EstaLlena(nombrePila) : Booleano Inserción de Nodos Pila_InsertarNodo(nombrePila, nodo) 1 Extracción de Nodos Pila_SacarNodo(nombrePila): nodo2 Acceso a la cabecera Pila_Tope(nombrePila): nodo 1 Push 2 Pop 7
  • 8. TDA Cola Definición <cola> ::= <frente> + <final> + {<nodo>} <frente> ::= <enlace> <enlace> ::= (<<ReferenciaNodo>> | NULL) <final> ::= <enlace> <nodo> ::= <contenido> + <enlace> <contenido> ::= <<dato>>{<<dato>>} Operaciones Creación/Destrucción Cola_Crear(nombreCola) Cola_Eliminar(nombreCola) Comprobación de Estado Cola_EstaVacia(nombreCola) : Booleano Cola_EstaLlena(nombreCola) : Booleano Inserción de Nodos Cola_InsertarNodo(nombreCola, nodo) 3 Extracción de Nodos Cola_SacarNodo(nombreCola): nodo 4 Acceso a la cabecera Cola_Tope(nombreCola): nodo 3 Push 4 Pop 8
  • 9. TDA Árbol Definición <arbol> ::= <<NULL>> | <nodo> <nodo> ::= <contenido>{<arbol>} <contenido> ::= <<dato>>{<<dato>>} Operaciones Dependen de las características particulares del árbol 9
  • 10. TDA Árbol Binario (AB) Definición <arbol>::= nulo | <nodo> <nodo>::=<contenido>+<izq>+<der> <izq>::=<arbol> <der>::=<arbol> <contenido>::<<dato>>|{<<dato>>} Operaciones Creación/Destrucción ABin_Crear(nombreArbol) ABin_Eliminar(nombreArbol) Comprobación de Estado ABin_EstaVacio(nombreArbol) : Booleano ABin_EstaLleno(nombreArbol) : Booleano Inserción de Nodos ABin_InsertarNodo(nombreArbol, nodo) Extracción de Nodos ABinl_SacarNodo(nombreArbol, nodo): nodo Búsqueda de Nodo ABin_Buscar(nombreArbol, contenido ): nodo Recorrido ABin_Recorrer(nombreArbol, tipoRecorrido) Modificación de Nodos ABin_AsignarContenidoNodo(referenciaNodo, valorContenido) ABin_AsignarEnlaceIzqNodo(referenciaNodo, valo rEnlace) ABin_AsignarEnlaceDerNodo(referenciaNodo, valorEnlace) Acceso a los nodos ABin_ContenidoNodo(referenciaNodo) : contenido ABin_IzqNodo(referenciaNodo) : enlace Abin_DerNodo(referenciaNodo) : enlace Abin_EsHojaNodo(referenciaNodo) : bool 10
  • 11. TDA Árbol Binario Búsqueda (ABB) Definición <abb>::= <<NULL>> | <nodo> <nodo>::=<clave>+<contenido>+<izq>+<der> <izq>::=<arbol> <der>::=<arbol> <clave>::<<dato>>|{<<dato>>} <contenido>::<<dato>>|{<<dato>>} Operaciones Creación/Destrucción ABB_Crear(nombreArbol) ABB_Eliminar(nombreArbol) Comprobación de Estado ABB_EstaVacio(nombreArbol) : Booleano ABB_EstaLleno(nombreArbol) : Booleano Inserción de Nodos ABB_InsertarNodo(nombreArbol, nodo, valorClave) Extracción de Nodos ABB_SacarNodo(nombreArbol, valorClave): nodo Búsqueda de Nodo ABB_Buscar(nombreArbol, valorClave): nodo Recorrido ABB_Recorrer(nombreArbol, tipoRecorrido) Modificación de Nodos ABB_AsignarContenidoNodo(referenciaNodo, valorContenido) ABB_AsignarEnlaceIzqNodo(referenciaNo do, valorEnlace) ABB_AsignarEnlaceDerNodo(referenciaNodo, valorEnlace) Acceso a los nodos ABB_ClaveNodo(referenciaNodo) : clave ABB_ContenidoNodo(referenciaNodo) : contenido ABB_IzqNodo(referenciaNodo) : enlace ABB_DerNodo(referenciaNodo) : enlace ABB_EsHojaNodo(referenciaNodo) : bool 11
  • 12. TDA Árbol Adelson, Velkii & Landis (AVL) Definición <avl>::= <<NULL>> | <nodo> <nodo>::=<clave>+<contenido>+<izq>+<der>+<factor_equilibrio> <izq>::=<arbol> <der>::=<arbol> <clave>::<<dato>>|{<<dato>>} <contenido>::<<dato>>|{<<dato>>} < factor_equilibrio> ::= (<<-1>> | <<0>> | <<1>>) Operaciones Creación/Destrucción AVL_Crear(nombreArbol) AVL_Eliminar(nombreArbol) Comprobación de Estado AVL_EstaVacio(nombreArbol) : Booleano AVL_EstaLleno(nombreArbol) : B ooleano Inserción de Nodos AVL_InsertarNodo(nombreArbol, nodo, valorClave) Extracción de Nodos AVL_SacarNodo(nombreArbol, valorClave): nodo Búsqueda de Nodo AVL_Buscar(nombreArbol, valorClave): nodo Recorrido AVL_Recorrer(nombreArbol, tipoRecorrido) Modificación de Nodos AVL_AsignarContenidoNodo(referenciaNodo, valorContenido) AVL_AsignarEnlaceIzqNodo(referenciaNodo, valorEnlace) AVL_AsignarEnlaceDerNodo(referenciaNodo, valorEnlace) Acceso a los nodos AVL_ClaveNodo(referenciaNodo) : clave AVL_ContenidoNodo(referenciaNodo) : contenido AVL_IzqNodo(referenciaNodo) : enlace AVL_DerNodo(referenciaNodo) : enlace AVL_EsHojaNodo(referenciaNodo) : bool Equilibrio AVL_II(referenciaNodo) AVL_ID(referenciaNodo) AVL_DD(referenciaNodo) AVL_DI(referenciaNodo) 12
  • 13. TDA Árbol B (AB) Definición <arbolB> ::= <raiz> + {<pagina>} <raiz> ::= <enlace> <enlace> ::= (<<referencia_pagina>> | NULL) <pagina>::= <<numero_elementos>> + <antecesora> + <nodo>{<nodo>} <antecesora> ::= <enlace> <nodo> ::= <clave> + <contenido> + <siguiente> <clave> ::= <<dato>>{<<dato>>} <dato> ::= {<<dato>>} <siguiente> ::= <enlace> Operaciones Creación/Destrucción AB_Crear(nombreArbol) AB_Eliminar(nombreArbol) Comprobación de Estado AB_EstaVacio(nombreArbol) : Booleano AB_EstaLleno(nombreArbol) : Booleano Inserción de Nodos AB_InsertarNodo(nombreArbol, nodo, valorClave) Extracción de Nodos AB_SacarNodo(nombreArbol, valorClave): nodo Búsqueda de Nodo AB_Buscar(nombreArbol, valorClave): nodo Recorrido AB_Recorrer(nombreArbol, tipoRecorrido) Modificación de Nodos AB_AsignarContenidoNodo(referenciaNodo, valorContenido) AB_AsignarEnlaceIzqNodo(referenciaNodo, valorEnlace) AB_AsignarEnlaceDerNodo(referenciaNodo, valorEnlace) Acceso a los nodos AB_ClaveNodo(referenciaNodo) : clave AB_ContenidoNodo(referenciaNodo) : contenido AB_IzqNodo(referenciaNodo) : enlace AB_DerNodo(referenciaNodo) : enlace AB_EsHojaNodo(referenciaNodo) : bool 13
  • 14. TDA Grafo Definición <grafo> :: = {<vertice>} + {<arista>} <vertice> ::= <<refVertice>> + [<<contenido>>] <arista> ::= <<refVertice>> + <<refVertice>> <grafoEtiquetado> :: = {<vertice>} + {<aristaEtiquetada>} <vertice> ::= <<refVertice>> + [<<contenido>>] <aristaEtiquetada> ::= <<refVertice>>+<<refVertice>>+<<etiqueta>> Operaciones Creación/Destrucción GRAFO_Crear(nombreGrafo) GRAFO_Eliminar(nombreGrafo) Comprobación de Estado GRAFO_EstaVacio(nombreGrafo) : Booleano GRAFO_EstaLleno(nombreGrafo) : Booleano Inserción GRAFO_InsertarVertice(nombreGrafo, vertice) GRAFO_InsertarArista(nombreGrafo, vertice1, vertice2) Extracción GRAFO_SacarVertice(nombreGrafo, vertice): vertice GRAFO_SacarArista(nombreGrafo, arista): arista Búsqueda GRAFO_Buscar(nombreGrafo, contenido): vertice Recorrido GRAFO_Recorrer(nombreGrafo, tipoRecorrido) Acceso a los vértices GRAFO_ContenidoVertice(referenciaVertice) : contenido GRAFO_GradoVertice (referenciaVertice) : entero GRAFO_GradoEntranteVertice (referenciaVertice) : entero GRAFO_GradoSalienteVertice (referenciaVertice) : entero GRAFO_AdyacentesVertice (referenciaVertice) : {referenciaVertice} GRAFO_IncidentesVertice (referenciaVertice) : {referenciaArista} GRAFO_SonAdyacentes(referenciaVertice1, referenciaVertice2) :bool Acceso a las aristas GRAFO_VerticesArista(referenciaArista) : {refVertice1, refVertice2} GRAFO_DestinoArista(referenciaArista) : refVertice GRAFO_OrigenArista(referenciaArista) : refVertice GRAFO_EtiquetaArista(referenciaArista) : etiqueta 14
  • 15. Modificación de Vértices GRAFO_AsignarContenidoVertice(referenciaVertice, valorContenido) Modificación de Aristas GRAFO_AsignarEtiquetaArista(referenciaArista, valorEtiqueta) 15