Este documento proporciona una introducción a las colecciones en Scala. Explica la jerarquía de colecciones y los tipos principales como Secuencias, Set y Maps. Detalla diferentes tipos de colecciones como Listas, Arrays y List Buffers e ilustra su uso con ejemplos de código. También cubre conceptos como iterables, iteradores, operaciones en Set y Map.
PARA OBSERVAR PASO A PASO EL PROCESO DE LOS RECORRIDOS MINIMOS ES NECESARIO REPRODUCIRLAS EN MODO PRESENTACION PARA ASI APRECIAR EL CONTENIDO COMPLETO
Grafos,recorridos minimo, algoritmos, tipos de grafos, ilustrado, ejemplos , recorridos,terminologia,Dijkstra,Bellman - Ford, Floyd - Warshall,conceptos basicos
Objetivo: Caracterizar la fundamentación teórica del NewSQL, mediante el análisis de sus características y diferencias con enfoques previos (NoSQL y SQL tradicional)
PARA OBSERVAR PASO A PASO EL PROCESO DE LOS RECORRIDOS MINIMOS ES NECESARIO REPRODUCIRLAS EN MODO PRESENTACION PARA ASI APRECIAR EL CONTENIDO COMPLETO
Grafos,recorridos minimo, algoritmos, tipos de grafos, ilustrado, ejemplos , recorridos,terminologia,Dijkstra,Bellman - Ford, Floyd - Warshall,conceptos basicos
Objetivo: Caracterizar la fundamentación teórica del NewSQL, mediante el análisis de sus características y diferencias con enfoques previos (NoSQL y SQL tradicional)
La recursividad o recursión es una técnica de programación que consiste en expresar una solución en términos de sí misma. Se dice que los algoritmos recursivos aplican una técnica de "divide y vencerás", para reducir un problema complejo en subproblemas más pequeños y fáciles de resolver.
This is very simple introduction to Clustering with some real world example. At the end of lecture I use stackOverflow API to test some clustering. I also wants to try facebook but it has some problem with it's API
Esta presentación muestra las colecciones disponibles en el lenguaje de programación escala, también contiene pequeños ejemplos que pueden ser útilies.
La recursividad o recursión es una técnica de programación que consiste en expresar una solución en términos de sí misma. Se dice que los algoritmos recursivos aplican una técnica de "divide y vencerás", para reducir un problema complejo en subproblemas más pequeños y fáciles de resolver.
This is very simple introduction to Clustering with some real world example. At the end of lecture I use stackOverflow API to test some clustering. I also wants to try facebook but it has some problem with it's API
Esta presentación muestra las colecciones disponibles en el lenguaje de programación escala, también contiene pequeños ejemplos que pueden ser útilies.
Cursos gratis de programación en Java. Colecciones. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Estructura de Datos - Unidad III Estructuras Lineales
Material de Clase de la Asignatura Estructura de Datos
Ingeniería en Sistemas Computacionales
Estructuras de datos en C++
Los desafíos de calidad de software que nos trae la IA y los LLMsFederico Toledo
En esta charla, nos sumergiremos en los desafíos emergentes que la inteligencia artificial (IA) y los Large Language Models (LLMs) traen al mundo de la calidad del software y el testing. Exploraremos cómo la integración, uso o diseño de modelos de IA plantean nuevos retos, incluyendo la calidad de datos y detección de sesgos, sumando la complejidad de probar algo no determinístico. Revisaremos algunas propuestas que se están llevando adelante para ajustar nuestras tareas de testing al desarrollo de este tipo de sistemas, incluyendo enfoques de pruebas automatizadas y observabilidad.
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
2. Índice
● Introducción
● Jerarquía de colecciones.
● Iterable - Iterator
● Colecciones
● Tipo de colecciones
● Secuencias
○ Listas
○ Arrays
○ List Buffeer
○ Ejemplos de código
○ Queue
○ Stacks
3. Índice
● Set & Maps
○ Operaciones Set
○ Operaciones Map
● Bibliografía
4. Introducción
Tendremos una visión general sobre de cómo
las estructuras de datos se relacionan entre sí
la jerarquía de colecciones (herencia).
El uso de las colecciones o estructuras se basa
en la forma en que deseemos almacenar los
datos para su posterior uso, conocer sus
ventajas, desventajas, aplicación y requisitos
de entrada.
5. Jerarquía de Colecciones
Lo que denotamos es que todas las colecciones derivan de la super trait Iterable de
las colecciones mutables e inmutables (Seq), los set y los maps, la mayoría de las
colecciones que se ofrecen son inmutables pero como derivan de Iterable, poseen
facilidad de iteración, dependiendo del uso o aplicación obtendremos un
rendimiento en las plataformas actuales de desarrollo.
6. Iterable - Iterator
Un iterador tiene muchos de los mismos métodos que iterable incluídas las de orden
superior pero no pertenecen a la misma jerarquía, pero se diferencian en que
Iterable puede manejar datos que se repitan más de una vez y así mismo se puede
usar los métodos Iterable múltiples ocasiones mientras que Iterator solo una.
7. Colecciones
● Seq: Es un iterable donde el orden de los elementos está arreglado con
posiciones de los índices empezando por 0.
○ Indexed Seq
○ Linear Seq
● Set: Son iterables que no contienen elementos duplicados.
○ Sorted Set
○ Bit Set
● Map: Es un iterable en el que cada elemento es un par (clave, valor)
○ SortedMap
8. Tipos de Colecciones
Básicamente existen dos tipos de colecciones: mutables e
inmutables, una colección mutables es factible ingresar, eliminar y
modificar elementos de una colección mientras que las inmutables
no se pueden cambiar los valores por asignación, existen método o
funciones que simulan las operaciones anteriormente mencionadas
pero éstas retornan una nueva colección dejando intacta la antigua.
9. Secuencias - Listas
Listas: Es el tipo más importante a saber dentro de las colecciones, es una estructura
de datos inmutable, Como ventaja podemos indica las listas tienen una estructura
recursiva, mientras que los arrays son planos.
La inmutabilidad de las listas permiten desarrollar algoritmos correctos y eficientes
porque se va a necesitar hacer copias de una lista.
Operaciones básica:
● head: devuelve el primer elemento de la lista.
● tail: devuelve una lista que consta de todos los elementos menos el primero.
● isEmpty: devuelve True si la lista está vacía
10. Secuencias - Arrays
Éstos permiten que se mantenga una secuencia de elementos y se pueda acceder a
una posición arbitraria, tanto como para obtener un elemento con un índice de base
cero, algo que denota es que éste tipo de colección es mutable.
Los array en Scala están representados en la misma forma que los array en Java, de
esa manera permite utilizar los mismo algoritmos desarrollados en Java y que
devuelvan un array, ésto quiere decir que posee los mismo métodos.
11. Secuencias - List Buffers
Un List Buffer es un objeto mutable que ayuda a construir listas de
manera más eficiente cuando se necesitan anexarlas, así mismo
proporcionan operaciones de agregación y anteponer operaciones, así
mismo al terminar de construir se puede invocarla mediante toList en el
ListBuffer.
Así una ventaja sería que al usar éste tipo de colección es evitar el
potencial del desbordamiento del stack de memoria, porque se puede
crear una la lista anteponiendo el orden deseado
12. Secuencias - ArrayBuffers
Un ArrayBuffer es como un array con la excepción añadir y eliminar elementos de al
inicio y al final de la secuencia, una desventaja sería que aunque posee todas las
operaciones de los arrays, aunque son un poco más lento debido a una capa de
envase (wrapping) en la ejecución.
Una ventaja es que cuando se crea el ArrayBuffer se debe especificar un parámetro
de tipo, pero no especificar su longitud, ésta colección automáticamente ajustará el
espacio asignado según sea necesario.
13. Ejemplos de Código
● Listas literales
val fruit = List("apples", "oranges", "pears")
val nums = List(1, 2, 3, 4)
val diag3 =
List(
List(1, 0, 0),
List(0, 1, 0),
List(0, 0, 1)
)
val empty = List()
14. Ejemplo de códigos
● Array
val fiveInts = new Array[Int] (5)
val fiveToOne = Array(5, 4, 3, 2, 1)
fiveInts(0) = fiveToOne( 4)
fiveInts
En la primera línea tenemos que crear el array de tipo entero con una longitud de 5, o sencillamente se lo carga con los valores vistos en la
segundalínea, los arrays son accesibles desde su índice, en la tercera línea se da el valor del fiveInts con la posición 0 el valor del array
fiveToOne con la posición 4, y luego se imprime el valor del array modificado.
15. Ejemplo de código
● List Buffer
import scala.collection.mutable.ListBuffer
val buf = new ListBuffer[Int]
buf += 1
buf += 2
buf
3 +: buf
buf.toList
Se importa la biblioteca mutable.ListBuffer y se instancia la estructura de datos, se agrega valores mediante buf += 1. buf +=2, como
mencionamos anteriormente, es factible ingresar valores al principio de la list buffer y se realiza en la penúltima línea anteponiendo el
valor al símbolo así 3 +: buf y se invoca la lista con el método toList
16. Ejemplo de código
● ArrayBuffer
import scala.collection.mutable.ArrayBuffer
val buf = new ArrayBuffer[Int] ()
buf += 12
buf += 15
buf
La primera línea importa la biblioteca mutable ArrayBuffer, luego se instancia sin declarar su longitud, se agregan valores al ListBuffer y al
final con el nombre de ésta se instancia la lista con todos sus valores.
17. Secuenciales - Queues
Es el tipo de colección de datos FIFO y en Scala ofrecen variantes mutables e
inmutables de cola. Se pueden agregar valores a una cola inmutable con enqueue, de
igual manera se puede agregar múltiples valores en la misma línea, para removar se
usa dequeue, pero al momento de usar éste método en una cola inmutable, éste
devuelve el elemento a la cabeza de la cola y una tupla que el resto de elementos
eliminados.
En la cola mutable se puede usar de forma similar, solo que en vez de usar enqueue,
usamos += y ++= para agregar valores y para descolar dequeue solo remueve el
elemento a la cabeza de ésta.
18. Secuenciales - Stacks
De igual manera que en las Colas, en las pilas existen versiones mutables e
inmutables, posee los métodos principales push y pop.
import scala.collection.mutable.Stack
val stack = new Stack[Int]
stack.push( 1)
stack.push( 2)
stack.top
stack.pop
stack
El comando push permite ingresar valores a la cola, top devuelve el valor tope de la cola y pop eliminar ese valor.
19. Set & Maps
Scala proporciona tanto mutables como inmutables versiones de Set y Maps y su
jerarquía es la siguiente:
20. Set & Maps
Por defecto se escribe “Set” o “Map” y se obtiene un objeto inmutable, si se desea
que sea inmutable se tiene que hacer una importación explícita.
Scala proporciona el acceso mediante el objeto Predef.
object Predef {
type Set[T] = scala.collection.immutable.Set[T]
type Map[K, V] = scala.collection.immutable.Map[K, V]
val Set = scala.collection.immutable.Set
val Map = scala.collection.immutable.Map
// ...
}
En el código anterior se explica el cómo instanciar un Set o un Map mutable o inmutable con las respectivas bibliotecas.
21. Operaciones - Set
La característica clave de los conjuntos es que se garantiza como máximo un valor por cada objeto
22. Operaciones - Map
Tenga en cuenta que parra poder crear un map, se debe especificar dos cosas, el primer es la clave del map y el segundo son los valores,
osea Map[String, int], , así mismo la lectura de un map es similar a la de una matriz.