Cola De Prioridad De Javascript

| | | | | | | |

Còmo usar PriorityQueue en Java

Las colas de prioridad se usan en programaciòn para crear estructuras de datos donde el elemento de datos con el valor más alto debe ser procesado primero por la estructura.

Cuando esté codificando en Java, puede encontrar una situaciòn en la que desee implementar una cola de prioridad. Ahì es donde entra la interfaz Java Queue. Sin embargo, debido a que Queue es una interfaz, no puede implementarla directamente en su còdigo. Si desea crear una cola de prioridad con la estructura de datos del montòn, en su lugar querrá usar PriorityQueue.

Este tutorial discutirá los conceptos básicos de PriorityQueue en Java y explorará còmo crear una cola. Este tutorial también explorará los métodos principales ofrecidos por PriorityQueue que se pueden usar para recuperar y manipular el contenido de la cola.

Las colas Java y PriorityQueues

Las colas, como las pilas, son datos estructuras que tienen un orden especìfico en el que se realizan las operaciones. En el caso de las colas, las operaciones se realizan en orden de primero en entrar, primero en salir (FIFO). Esto significa que el primer elemento de la lista siempre será el primero en salir & mdash; la cola se ordena seg√∫n los elementos a medida que se insertan.

Suponga que está en un restaurante y ha realizado un pedido. Querrá que le sirvan en el orden en que cada cliente pidiò su comida, porque ese es el enfoque más justo. Entonces, si ordenò su comida después de Jack, querrá que le sirvan inmediatamente después de Jack. Ese es un ejemplo de una cola.

A los efectos de este tutorial, nos centraremos en la implementaciòn de PriorityQueue de la interfaz Queue, que se utiliza para crear colas de prioridad en Java.

PriorityQueues son un tipo de cola cuyos elementos están ordenados en funciòn de su prioridad. Esto significa que, en una cola con los valores 5 y 10, 10 estará al principio de la cola en todo momento, incluso si se agregò en √∫ltimo lugar.

Crear una cola prioritaria

Para crear una cola de prioridad en Java, primero debe importar el paquete java.util.PriorityQueue. Este paquete contiene el método PriorityQueue que podemos usar para crear nuestras colas. Podemos importar el paquete PriorityQueue usando este còdigo:

Ahora que hemos importado PriorityQueue, podemos crear una cola usando el paquete. Aquì está la sintaxis utilizada para crear una PriorityQueue:

Analicemos esto:

  • PriorityQueue le dice a nuestro programa que desea crear una cola de prioridad.
  • DataType es el tipo de datos que almacenará nuestra cola.
  • queue_name es el nombre de la variable que se asignará a la cola que creamos.
  • new PriorityQueue (); inicializa una cola de prioridad.

Entonces, supongamos que quisiéramos crear una cola que almacena los pedidos de los clientes en nuestro restaurante. Queremos que nuestra cola almacene el n√∫mero de mesa de cada cliente. Podrìamos crear esta pila usando el siguiente còdigo:

En este ejemplo, hemos creado una instancia de PriorityQueue llamada orders que almacena valores enteros. En nuestra cola, los elementos serán accedidos y eliminados usando la estructura de datos FIFO.

Agregar elemento a PriorityQueue

En Java, cada elemento de una cola se denomina elemento.

Para agregar un elemento a una cola, podemos usar el método add (). Este método acepta un parámetro: el valor del elemento que desea agregar a su cola. Si la cola e está lleno, el método add () devolverá una excepciòn.

Además, podemos usar el método offer () para agregar un elemento a una cola. La diferencia entre add () y offer () es que offer () devuelve falso si la cola está llena, mientras que add ( ) arroja una excepciòn.

Supongamos que queremos agregar las tablas # 22 y # 17 en ese orden a nuestra pila porque acaban de realizar sus pedidos de almuerzo. Podrìamos hacerlo usando este còdigo:

Nuestro còdigo devuelve:

Analicemos nuestro ejemplo. Primero, importamos la clase PriorityQueue, que usamos más adelante en nuestro còdigo. Luego declaramos una clase llamada AddCustomer, que almacena nuestro còdigo para este ejemplo. Asì es como funciona el còdigo dentro de nuestra clase:

  1. Usamos new PriorityQueue "& gt; (); para crear una cola de prioridad llamada orders .
  2. Usamos el método add () para agregar la tabla # 22 a nuestra pila.
  3. Imprimimos la palabra Pedidos: seguido del contenido de nuestra pila en la consola.
  4. Usamos el método offer () para agregar la tabla # 17 a nuestra pila.
  5. Imprimimos el término Pedidos actualizados: seguido del contenido revisado de nuestra pila en la consola.

22 aparece primero en nuestra pila, por lo que aparecerá ser el primero en salir cuando eliminemos un elemento. En otras palabras, la tabla # 22 está en la parte superior de nuestra pila. La tabla # 17 se almacena en la segunda posiciòn de nuestra pila. Recuerde, las colas de prioridad se ordenan en el orden FIFO.

Nuestro còdigo devuelve una matriz con nuestros pedidos originales, luego una matriz con nuestros pedidos actualizados.

Eliminar artìculo de PriorityQueue

Hay dos métodos que pueden utilizarse para eliminar un elemento de PriorityQueue:

Supongamos que nuestro sous-chef ha procesado el pedido # 17 y quiere eliminarlo de la pila Después de que se procesò esa orden, nuestro chef preparò la orden # 22 y quiere quitarla de la pila.

La orden # 17 está en la posiciòn 2 en nuestra pila, y la orden # 22 está en la posiciòn 1. Queremos eliminar estos elementos en ese orden. Podrìamos usar este còdigo para eliminar las òrdenes:

Nuestro còdigo devuelve:

Analicemos nuestro còdigo. Primero, usamos el método remove () para eliminar el orden en la posiciòn 2 de nuestra pila. Esta orden eliminada # 17.

Entonces nuestro còdigo imprimiò un mensaje que decìa, ¿Se eliminò la orden # 17? seguido del resultado del còdigo remove () método. remove () eliminò con éxito # 17 de nuestra pila, por lo que el método devolviò verdadero.

A continuaciòn, usamos el método poll () para eliminar el elemento superior de nuestra pila. En este caso, esa fue la orden # 22. poll () eliminò la orden # 22 y devolviò el elemento eliminado. Después de que se eliminò el artìculo, imprimimos el mensaje Order # [order number eliminado] se eliminò de la cola. en la consola.

Recuperar artìculo

El método peek () se utiliza para recuperar el encabezado de un elemento de la cola (el primer elemento de la cola). Supongamos que quisiéramos saber el valor del pròximo pedido en nuestra pila porque nuestro sous-chef está listo para aceptar un nuevo pedido.

Podrìamos usar este còdigo para recuperar el n√∫mero de mesa del cliente que está siguiente en la lìnea:

Nuestro còdigo devuelve:

El primer elemento de nuestra pila es 22, por lo que cuando usamos el método peek (), nuestro programa devuelve el valor 22 . En la √∫ltima lìnea de nuestro còdigo, imprimimos un mensaje que dice, El siguiente pedido a procesar es la tabla # [n√∫mero del primer pedido en la pila]., donde el n√∫mero del primer pedido en peek () descubriò la pila.

Iterar a través de una cola de prioridad

A menudo, cuando trabajas con colas, querrás crea un iterador sobre los elementos de la cola de prioridad.

Para hacerlo, podemos usar el método iterator (), que es parte del paquete java.util.Iterator. Pero antes usamos el método iterator (), primero debemos importar el paquete Iterator usando este còdigo:

Supongamos que quisiéramos imprimir una lista de cada artìculo en nuestra cola de pedidos de restaurantes en la consola. Podrìamos hacerlo usando este còdigo:

Nuestro còdigo devuelve:

En nuestro còdigo, primero agregamos cuatro valores a nuestra cola. Luego usamos el método iterator () para crear un iterador que podemos usar para revisar cada elemento en nuestra cola de prioridad. Luego creamos un bucle while que se ejecuta a través de cada elemento en nuestro iterador & mdash; para cada artìculo de la cola de pedidos & mdash; e imprime el siguiente valor en la cola.

Métodos PriorityQueue adicionales

Hay tres métodos más que se utilizan a menudo con la clase PriorityQueue. Estos son los siguientes:

Nombre del método Descripciòn
size () Devuelve la longitud de la cola.
toArray () Convierte la cola en una matriz.
contiene (elementName) Busca en la cola un elemento.

Conclusiòn

La clase PriorityQueue se usa en Java para implementar la interfaz Queue. Las colas utilizan la estructura de datos FIFO, por lo que el primer elemento que entra es el primero que sale.

Este tutorial explica los conceptos básicos de las colas y PriorityQueues en Java. También discutimos còmo crear una cola y los métodos principales que puede usar para recuperar elementos y manipular una cola.

¬°Ahora tiene las herramientas que necesita para comenzar a usar la clase Java PriorityQueue como un profesional!

Cola De Prioridad De Javascript __del__: Questions

Cola De Prioridad De Javascript __delete__: Questions

Shop

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Best laptop for Minecraft

$590

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method