Tipo de datos abstractos del mapa

ADT significa tipo de datos abstractos. Este tipo de datos lo define el programador. El tipo de datos abstracto contiene un conjunto de valores y operaciones bien definidos. ADT actúa como un activo en la programación ya que su implementación se puede cambiar sin modificar el resto del programa. Con la ayuda de un tipo de datos abstracto, también podemos reducir los errores lógicos. Debido al hecho de que ahora tiene la esencia del tipo de datos abstractos, avancemos ahora a nuestro tema, que es el tipo de datos abstractos del mapa.

Tipo de datos abstractos del mapa

El mapa es un tipo de datos abstracto que contiene una colección de registros. Es una interfaz que establece qué operaciones se pueden realizar, pero no su implementación. Cada registro de un mapa contiene una clave y un valor. La propiedad del mapa es tal que se puede acceder o recuperar cada valor con la ayuda de una clave. Esto significa que cada clave está asociada con un valor. Es muy importante tener en cuenta que cada clave en el mapa tiene que ser única. Los valores se pueden duplicar, pero las claves deben ser únicas cada vez. En varios lenguajes de programación, los mapas tienen diferentes nombres para su implementación. Mira el ejemplo de abajo:

  1. C++: mapa_desordenado, multimapa, mapa_hash, etc. son las implementaciones.
  2. Python: diccionarios.
  3. Java: HashMaps, HashTables.

Operaciones de Mapa

Conozcamos ahora algunas de las operaciones útiles que se pueden realizar con un mapa:

  • put(clave, valor): Se agrega un nuevo par clave-valor al mapa. En caso de que la clave ya exista en el mapa, el valor anterior se reemplaza por el nuevo.
  • get(clave): Aquí se pasa una clave y con la ayuda de la clave podemos recuperar el valor que está asociado con la clave dada.
  • len(): esta operación devuelve la longitud del mapa, es decir, el número de pares clave-valor.
  • del: esta operación se utiliza para eliminar un par clave-valor específico del mapa. Así es como se hace: del mapa[clave]. La clave particular y su valor asociado se eliminan del mapa.
  • in: esta operación devuelve un valor booleano. Devuelve verdadero si la clave dada existe en el mapa, de lo contrario devuelve falso.

Usos del mapa

En las siguientes situaciones, un tipo de datos abstracto de mapa es ideal para usar:

  • Notas de un estudiante por su id de estudiante.
  • Datos fiscales por número de seguridad social.
  • Salario de un empleado por su id de personal.
  • Propietario de moto por matrícula del propietario.

Los mapas también se utilizan mucho para contar la frecuencia. Por ejemplo: Cuente los números duplicados en una array. Aquí se puede utilizar un mapa donde la clave sería el índice del número y el valor sería su frecuencia. La siguiente tabla muestra un ejemplo de un par clave-valor:

Nro. de rollo Nombre
101 Shawn
102 John
103 David
104 John

En la tabla anterior, Roll No. es la clave y Name es el valor. Entonces puede ver que el valor ‘Juan’ se ha producido dos veces, pero dado que sus claves, es decir, el número de rollo, son diferentes, pueden almacenarse e identificarse mediante el mapa. Entonces, del ejemplo anterior, está claro que solo necesitamos la clave para acceder o eliminar cualquier valor. Un dato importante del mapa a conocer es que no es obligatorio tener la clave y el valor del mismo tipo de datos. El mapa nos permite usar diferentes tipos de datos para clave y valor respectivamente.

Implementación de Mapa

Un mapa también se conoce como array asociativa. Básicamente, para implementar un mapa necesitamos dos valores de datos. La inicial es la clave con la ayuda de la cual puede acceder, eliminar, reemplazar el valor asociado a ella. El valor es el segundo parámetro que se toma al crear un mapa. Podemos implementar el mapa usando las siguientes dos formas:

  • Lista
  • Diccionario

Discutámoslos uno por uno.

Lista:

Ahora, hay diferentes formas en las que se puede implementar un mapa, pero en este momento, la lista parece ser la mejor. Una lista se utiliza para representar la colección o conjunto de valores en los que el orden es muy importante. Entonces, para implementar un mapa usando una lista, debemos crear dos listas en paralelo. Donde la primera lista se usa para almacenar las claves y la segunda lista se usa para almacenar los valores. Eche un vistazo al siguiente ejemplo donde se crean 2 listas.

Lista 1:

Índice Código PIN
0 400099
1 500078
2 340005

 

Lista 2:

Índice nombre de la carretera
0 callejón diagón
1 Calle Hagrid.
2 albus warne 

Las dos listas anteriores son un ejemplo de implementación de un mapa utilizando listas duales. La primera lista contiene la clave como código pin y la segunda lista contiene el nombre de la carretera como el valor asociado con una clave en particular. 

Ejemplo:

Python

# Python program to implement map using dual list
  
# keys
listA = ['one', 'two', 'three']  
  
# values
listB = ['Cricket', 'Football', 'Wrestling']  
  
# map function creates a new array for every 
# element of a calling function.
print(list(map(lambda x, y: x + ' ' + y, listA, listB)))
Producción

['one Cricket', 'two Football', 'three Wrestling']

Diccionario

Otra forma de implementar un mapa es usar el tipo de datos de diccionario incorporado. Un diccionario nos ayuda a crear una lista con claves y valores similar a un mapa. En Python, se puede crear un diccionario insertando una colección de elementos entre llaves {}, que están separados por ‘comas’. Es importante tener en cuenta que los valores pueden cambiar pero las claves son inmutables. La característica importante de un diccionario es que no permite duplicados. Otra propiedad del diccionario es que está ordenado por naturaleza durante la inserción, lo que significa que los elementos tienen un orden definido que no se puede cambiar. Aunque los diccionarios se pueden modificar, lo que significa que podemos agregar, eliminar o reemplazar elementos incluso después de crear el diccionario. Antes de comprender cómo se puede usar un diccionario para implementar un mapa, conozcamos algunos métodos de diccionario importantes.

Método Descripción
obtener() Este método se utiliza para devolver el valor de la clave especificada.
clear() Este método se utiliza para eliminar todos los elementos del diccionario.
estallido() Este método se utiliza para eliminar el elemento asociado con la clave especificada.
actualizar() Este método se utiliza para actualizar el diccionario con los pares clave-valor especificados.
valores() Este método se utiliza para devolver una lista de todos los valores presentes en el diccionario.
llaves Este método se utiliza para devolver una lista de todas las claves presentes en el diccionario.

Ejemplo:

Python

# Python program to implement map using dictionary
  
# Creating a dictionary
Sports_dict = {
    "Name": "Virat",
    "Sport": "Cricket",
    "Runs": 12000
}
  
# Prints the entire dictionary in key-value pair
print(Sports_dict)
  
# Prints the value associated with the following key
print(Sports_dict["Runs"])
Producción

{'Runs': 12000, 'Sport': 'Cricket', 'Name': 'Virat'}
12000

Ejemplos de preguntas

Pregunta 1: Crea una lista de la cantidad de goles marcados por cada jugador en un equipo de 6 con sus nombres usando un mapa.

Solución:

Python3

# Python3 program to create a list of the number of 
# goals scored by every player in a team of 6 with 
# their names using a map
  
# Implementing the map using dictionary
Super_FC = {'Chris': 7, 'Mark': 3, 'Paul': 6, 
            'Adam': 8, 'Micheal': 10, 'Stuart': 12}
  
# Prints the dictionary
print(Super_FC)  
Producción

{'Chris': 7, 'Mark': 3, 'Paul': 6, 'Adam': 8, 'Micheal': 10, 'Stuart': 12}

Pregunta 2: Crea una lista de autos y sus colores. Averigüe el color de un coche específico.

Solución:

Python3

# Python3 program to create a list of car and 
# their colors. Find out the color of a specific car.
  
# Implementing the map using dictionary
cars = { 'Jaguar': 'Black Color', 'Ferrari': 'Red Color',
         'Mercedes': 'White Color'}
  
# Prints dictionary
print(cars) 
  
# Print the color of Ferari
print(cars['Ferrari'])  
Producción

{'Jaguar': 'Black Color', 'Ferrari': 'Red Color', 'Mercedes': 'White Color'}
Red Color

Pregunta 3: elimine una oración en particular de un número específico de la línea de un libro.

Solución:

Python3

# Python3 program to remove a particular sentence 
# from a specific no. of the line from a book.
  
# Creating book dictionary
book = { 'line1': 'Hello World!', 'line2': 'I am the best',
         'line3': 'The Giant is here!!', 'line4': 'Yes!',
         'line5': 'Big Show'}
print("Before deleting : ")
print(book)
  
# line1 deleted
del book['line1']  
print("After deleting line1 : ")
print(book)

Producción

Before deleting : 
{'line1': 'Hello World!', 'line2': 'I am the best', 
 'line3': 'The Giant is here!!', 'line4': 'Yes!', 
 'line5': 'Big Show'}
After deleting line1 : 
{'line2': 'I am the best', 'line3': 'The Giant is here!!', 
 'line4': 'Yes!', 'line5': 'Big Show'}

Publicación traducida automáticamente

Artículo escrito por shreyasnaphad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *