Bienvenido al Curso

1

Introducci贸n al curso b谩sico de algoritmos y estructuras de datos

Introducci贸n a los algoritmos

2

驴Qu茅 entiende una computadora?

3

Lenguajes de programaci贸n

4

Estructuras de datos

5

驴Qu茅 es un algoritmo?

6

Metodolog铆a para la construcci贸n de un algoritmo

7

Variables y tipos de datos

8

User defined data types

9

Instalando Ubuntu Bash en Windows

10

Creando nuestro user defined data type

11

Abstract Data Types b谩sicos: Lists, Stacks, Queues

12

Explicaci贸n gr谩fica Data Types b谩sicos

13

Glosario de funciones para Abstract Data Types

14

Clases y objetos

15

Creando tu primera Queue: Arrays

16

Creando tu primera Queue: implementaci贸n.

17

Creando tu primera Queue: implementar la funci贸n enQueue

18

Creando tu primera Queue: implementar la funci贸n deQueue

19

Creando tu primera Queue: main code

Algoritmos de ordenamiento

20

Algoritmos de ordenamiento

21

Bubble sort

22

Bubble sort: implementaci贸n

23

Bubble sort: main code

24

Insertion sort

25

Desaf铆o: implementa un algoritmo de ordenamiento

Recursividad

26

Recursividad

27

La funci贸n Factorial, calculando el factorial recursivamente

28

Manejo de cadenas de caracteres

29

Arte: Generando arte recursivo

Divide and conquer y programaci贸n din谩mica

30

Divide and Conquer (divide y vencer谩s)

31

Qu茅 es la programaci贸n din谩mica (divide y vencer谩s v2.0)

32

MergeSort

33

Desaf铆o: Buscar el algortimo m谩s r谩pido de sort

34

Implementando QuickSort con Python

35

Implementando QuickSort con Python: main code

Algoritmos 'Greedy'

36

Qu茅 son los Greedy Algorithm

37

Ejercicio de programaci贸n greedy

38

Ejercio de programaci贸n greedy: main code

Grafos y 谩rboles

39

Grafos y sus aplicaciones

40

脕rboles

驴C贸mo comparar Algoritmos?

41

C贸mo comparar algoritmos y ritmo de crecimiento

驴Qu茅 sigue?

42

Cierre del curso y siguientes pasos

Variables y tipos de datos

7/42

Lectura

Esta lectura es un peque帽o recordatorio de un par de conceptos que conoces desde hace mucho, primero hablemos de las variables.

...

Reg铆strate o inicia sesi贸n para leer el resto del contenido.

Aportes 167

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Tipo de Datos

Excelente resumen. Aqui les dejo el resumen del resumen.

Variables: Nos sirven para almacenar los distintos tipos de datos.

Tipos de datos: As铆 como en f铆sica contamos con las unidades de una magnitud en ciencia de la computaci贸n requiere saber qu茅 tipo de variable va a ser trabajada.
En general te puedes encontrar con 2 tipos de datos:
鈥婼ystem-defined data types (tipos de datos definidos por el sistema tambi茅n conocidos como Primitivos)
鈥婾ser-defined data types (Tipos de datos definidos por el usuario).

![](

En mi cabeza, se me facilita verlo de la siguiente manera:

Las variables son como cajitas de cart贸n en donde se guardan valores de alg煤n tipo. Digamos que agarro una cajita de 1 byte de tama帽o, meto una letra A y le escribo con marcador permanente negro la palabra: char para que no se me olvide que en esa cajita solo puedo meter algo que sea char. Luego, meto un n煤mero 19 en una caja de 2 bytes de tama帽o en la que escribo con marcador permanente negro la palabra: int para que no se me olvide que solo puedo meter all铆 algo que sea int.

- VARIABLES :
Espacio en memoria para almacenar valores(datos).

-TIPOS DE DATOS :

  1. System defined data types :
    Tipos de datos definidos en el sistema o datos primitivos(Los datos primitivos dependen del sistema que se este usando).
    Ejemplos :
    INT, FLOAT, CHAR, BOOL, etc鈥

  2. User defined data types :
    Tipos de datos definidos por el usuario.
    Ejemplos :
    BASES DE DATOS.-
    Un tipo de datos definido por el usuario (UDT) es un tipo de datos que deriva de un tipo de datos
    existente. Puede utilizar UDT para ampliar los tipos incorporados ya disponibles y crear sus propios
    tipos de datos personalizados.

    Existen seis tipos definidos por el usuario:
    Tipo diferenciado
    Tipo estructurado
    Tipo de referencia
    Tipo de matriz
    Tipo de fila
    Tipo de cursor
    Ver m谩s

    LENGUAJE C.-
    C permite que el programador defina sus propios tipos de datos mediante la palabra clave typedef
    Ejemplo: typedef int TipoVectorEnteros [4]; declara que se crea un nuevo tipo de datos, definido
    por nosotros, denominado TipoVectorEnteros, que contendr谩 4 valores de tipo int.

Me gusta mucho la sencillez con la que se explica todo, el nombre de algoritmo me asustaba bastante鈥

Good! muy bueno pero tambi茅n es importante agregar que estas estructuras de datos son las bases de la programaci贸n, Es necesario conocer estos temas tenerlos fijos en la cabeza como si nos salieran al natural, la compresi贸n y abstracci贸n del mundo real a las estructura de datos es los nos convierte en buenos programadores.

Que es una variable?: Una variable es un espacio en memoria donde se almacena archivos ya sea binarios o de texto plano, estas variables pueden ser transformadas por codigo del algoritmo por ejemplo, aumentar su tama帽o, reducir o recibir valores de otras variables. Entonces basicame una variables es un lugar donde almacenamos informacion de nuestro proyecto para luego manipularla. Ademas cada uno de estos espacio tiene un identificador, este identificador se le conoce como el nombre, por ejemplo tenemos una variable color y dentro de la variable esta el color rojo.

No conoc铆a esta tipificaci贸n de los datos:

鈥 鈥婼ystem-defined data types
鈥⑩ User-defined data types

Muchas gracias profe, por la aclaraci贸n.

Muy buenos ejemplos para definir exactamente los dos t茅rminos.

se puede tomar este curso sin necesidad de tener una carrera sobre programacion, es decir es un buen curso con el cual ingresar en este mundo?

Se debe tener presente que tipo de datos se van a utilizar de acuerdo al problema que se aborde.

Buen recordatorio:

De los tipos de datos: Primitivos y no Primtivos, los primitivos son por defecto los definidos por el sistema, y los no primitivos son los definidos por el usuario.

Es interesante repasar los fundamentos, luego de a帽os estudiando tecnolog铆a aprendo que los datos primitivos son los definidos por el sistema. Nice!

Muy interesante para llevar un orden siempre en la soluci贸n de problemas

En este link pueden ver los tama帽os de cada tipo de dato

Variables

鈹溾攢鈹 Num茅ricas
鈹 鈹溾攢鈹 Enteras (int)
鈹 鈹溾攢鈹 Punto flotante (float)
鈹 鈹溾攢鈹 Complejas (complex)
鈹 鈹斺攢鈹 Booleanas (bool)

鈹溾攢鈹 Texto
鈹 鈹溾攢鈹 Caracteres (char)
鈹 鈹溾攢鈹 Cadenas de texto (str)
鈹 鈹斺攢鈹 Bytes (bytes)

鈹溾攢鈹 Secuenciales
鈹 鈹溾攢鈹 Listas (list)
鈹 鈹溾攢鈹 Tuplas (tuple)
鈹 鈹溾攢鈹 Rangos (range)
鈹 鈹斺攢鈹 Arreglos (array)

鈹斺攢鈹 Mapeos
鈹溾攢鈹 Diccionarios (dict)
鈹斺攢鈹 Conjuntos (set)

Una variable, adem谩s de representar un valor, es un espacio de memoria, el cual var铆a su tama帽o seg煤n el valor que almacene:

  • Entero (int): 2 bytes
  • Flotante (float): 4 bytes
  • Caracter (char): 1 byte / 2 bytes (depende el lenguaje de programaci贸n)
  • Texto (string): var铆a de los caracteres que tenga

Existen 2 tipos de datos:
鈥⑩ System-defined data types (tipos de datos definidos por el sistema tambi茅n conocidos como Primitivos)
鈥⑩ User-defined data types (Tipos de datos definidos por el usuario).

Recuerden 1 Byte = 8 bits

No conoc铆a sobre los System-defined data types y los User-defined data types, gracias!

Variables

Facil:
**Que es una variable: ** Es una forma de almacenar informacion, desde ecuaciones, valores numericos, caracteres, entre otros. para reutilizarla luego si se quiere.

Que son los tipos de datos: Los tipos de datos son los identificadores o etiquetas que se usan habitualmente para las variables, como por ejemplo:

  • int: Tipos de datos de valor entero

  • float: Tipos de datos de valor decimal

  • char: Caracteres

  • String: Cadenas de texto

Repasando m谩s, es muy necesario retomar lecciones q en su momento pudiste obviarla pensando q no hac铆an falta. Si, excelente material

Excelente ejemplo gracias

Por esa raz贸n aunque nuestros sistemas cuenten con un hardware muy bueno, es buena practica el buscar despu茅s de haber escrito la soluci贸n, buscar la manera mas eficiente de nuestro algoritmo, eso evitar铆a de cierto modo los bugs que podr铆an ocasionar en un futuro por el acumulo de data etc.
Este tema de la eficiencia es hoy en d铆a, un tema ignorado por los que creamos tecnolog铆a ya que poseemos hardware que nos da la posibilidad de despreocuparnos de el rendimiento, pero en el fondo un algoritmos escrito eficientemente es mas duradero que uno escrito a puras penas.

Tome el anterior curso, y estoy tomando este para reforzar conocimientos ya que la l贸gica m铆a 煤ltimamente estuvo fallando, pero estamos recobrandola de a poco jaja. Buen material!

super interesante la ultima parte de la informacion del articulo

Buena explicaci贸n pero tengo una duda frente a esta frase: "En general te puedes encontrar con 2 tipos de datos:"
Y sigue lo que menciona, pero el tipo de dato no es entero, string alguien me podria explicar cual es la diferencia de los terminos.

Bueno y que son gatos o perros <- Back in Time

Debemos elegir los tipos de datos de acuerto a las necesidades de lo que estemos elaborando.

Muy claro los conceptos!

Ok, cada vez me queda mas claro todo.

Sencillo y al grano鈥

Me gusta, vamos鈥

Gracias por los apuntes.
Tipos de datos:
Int: n煤meros enteros.
Float: Punto flotante o n煤meros decimales.
String: Texto.
Booleano: Tiene dos valores (Verdadero/falso; 0/1; si/no).

Interesante el tema. No sab铆a bien de los tipos de datos. Incluso son primordiales para todo problema.

seg煤n los tipos de datos definidos por el sistema, 驴Entrar铆an como ejemplo los datos aleatorios?

Recuerdo que mi profesor de f铆sica nos hacia el mismo chiste cuando olvid谩bamos la magnitud de lo que est谩bamos calculando. Ya debe venir grabado esos comentarios para sus alumnos en su disco duro jaja

Mi cerebro se apagaba cuando miraba letras en los problemas de matematicas pero ahora todo tiene sentido y es muy sencillo de la forma en que explican las clases en platzi

No se como hacer, en general tomo apuntes a mano porque creo que la fijaci贸n del conocimiento es mas efectiva, pero Platzi da puntos por comentar鈥 entonces comentar铆a solo por los puntos que me dan? no lo se, creo que podr铆a caer en comentar por comentar y pues ese no es mi estilo, comentare cuando tenga algo valioso por aportar o por si tengo alguna duda鈥 en fin solo es mi opini贸n.

Sencillo e importante.

Gracias por la explicaci贸n. Es informaci贸n valiosa.

Excelente explicaci贸n, es l贸gico pensar que un algoritmo bien estructurado simplifica las variables que se van a usar y el proceso para llegar a la soluci贸n, yendo a la pr谩ctica, en programaci贸n ahorras bytes de memoria, aunque suene 铆nfimo en realidad, en millones de transacciones de una aplicaci贸n ser铆a notable el rendimiento.

Que bueno que la mayoria de los lenguajes ya quitaron eso de que le metas cuantos datos vas a usar.

Buen resumen

  • En casi todos los cursos que hablan de variables lo expresan como una cajita que guarda algo, hasta para ni帽os se explica as铆.

  • El profe metiendo ecuaciones y f铆sica 馃ぃ igual se entiende claro.

Tengo la duda acerca de la diferencia entre un interprete y un compilador.

Ya nos dicen cuanto ocupa en memoria un entero y un float pero.
驴Cuanto ocupa en memoria un char y un string?
驴estos datos a cual compilador se refiere??
驴Ocupa lo mismo para la mayoria de los compiladores?

Interesante la manera de abordar el tema de las variables.

Gracias por el resumen.

excelente, muy buena explicaci贸n entendible!

Muchas gracias por la ense帽anza!!!

Excelente explicaci贸n!

De nuevo muy bien explicado.

muy buenos apuntes 馃挘

La importancia se ve reflejada en 鈥渃鈥 jeje obligatoriamente

enjoying this course already!

Muy interesante, ya me enganch茅 al curso. Y eso que primera vez en mi vida que entro a aprender sobre tecnolog铆a.

estuvo muy interesante esta explicaci贸n me gusto

me recuerda a Pascal, y c++

Vale el recorderis鈥 esto se pone bueno鈥

Excelente art铆culo

bine!!!

Exelente y muy importante clase, los tipos de datos.

Tipos de variables:

Integers: Son numeros enteros
Strings: Son cadenas de caracteres (pueden ser palabras o frases)
Floats: Son numeros decimales
Boleanos: No devuelven el valor de verdad de una determinada expresion.

Estos son los tipos de variables que conozco hasta el momento.

Perfecto! Vamos con todo.

Ejemplo puntual.

Muchas gracias

Excelente documento

ready para aprender algoritmos.

Excelente introducci贸n! muy clara

concreto

Bastante informativo

Excelente nota

vamos a darle

Importante recordar que en computaci贸n necesitas indicar si el dato almacenado en la variable va a ser num茅rico decimal, hexadecimal, flotante, texto, caracteres, etc

Muy buena explicaci贸n para:

System-defined data types
User-defined data types

Vengo de tu curso de arduino, a que hora el lenguaje C ? :c

Esta genial el curso! a darle!

excelente tips

Chicos alguno sabe que tanto impacto es tener variables en nuestra memoria RAM?

La sencilla manera que explica el profesor es buen铆sima, no te complica y maneja el tema a la perfecci贸n.

Es vital memorizar ciertas palabras claves para poder interrelacionar y pensar como combinar lo que he aprendido.

驴Qu茅 opinan al respecto ?

Wow me encanto este art铆culo en tan poco abarca muchas dudas que ten铆a, como 驴Qu茅 son los datos primitivos? El termino era algo que escuchaba regularmente, pero no entend铆a del todo

Muchas gracias

Incre铆ble!!!

Gracias,

Muy valiosa informaci贸n, gracias profesor!

gracias muy buena informacion . cualquier duda comentar y deja tu like jeje gracias .
o comentario

Los tipos de datos definidos por el usuario tambi茅n se les suelen llamar, tipos de datos derivados.

Analogia precisa para el tema

Es bueno saber y conocer bien sobre variables para poder optimizar nuestros proyectos. Porque depende el tipo de variable consume m谩s recursos en memoria

Que buena explicaci贸n, me ayudo a entender mejor todo

Es importante definir el tipo de dato.

Nice!

Muy buen articulo !