Fundamentos de programación competitiva

Autor: Héctor Arturo Flórez Fernández

ISBN: 9789585082854

Editorial: ECOE, Ediciones

Edición: 1

Páginas: 260

Formato: 24x17x1,5

Cant. tomos: 1

Año: 2024

Idioma: España

Origen: Colombia

Disponibilidad.: No Disponible

Gs 320.000
Fundamentos de programación competitiva expone una gran cantidad de soluciones a problemas presentados en la plataforma CodeForces, las cuales fueron desarrolladas en los lenguajes de programación C++, Java y Python. Cada problema ha sido analizado para permitir un completo entendimiento y llegar a una solución óptima. De igual forma, estos problemas se escogieron con base en su facilidad de lectura, tema y nivel de dificultad.
Adicionalmente, se ofrece al lector una exposición clara y suficiente de los conceptos básicos de programación los cuales permiten adquirir las habilidades necesarias para el análisis y desarrollo de algoritmos. Por lo tanto, se exponen los conceptos fundamentales de los lenguajes de programación C++, Java y Python, y los conceptos de complejidad algorítmica, análisis y desarrollo de algoritmos en los temas de cadenas de caracteres, ordenamiento, combinatoria y teoría de números.
El libro está dirigido a profesores y estudiantes interesados en entrenamientos de programación competitiva, ideal para prepararse para maratones de programación. Está especialmente enfocado en estudiantes de ingeniería de sistemas, quienes suelen estar más familiarizados con estas actividades, pero también es relevante para cualquier estudiante de ingeniería y ciencias básicas interesado en los temas cubiertos por el libro.
Prólogo
Tabla de contenido
Lista de figuras
Lista de tablas
Lista de algoritmos
1 Lenguaje de
programación C++
1.1 Conceptos básicos de programación usando el lenguaje C++
1.1.1 Operadores
1.1.2 Tipos Primitivos de Datos
1.1.3 Elementos básicos
1.1.4 Entrada y salida estándar
1.1.5 Función main
1.1.6 Estructuras de programación
2 Lenguaje de
programación Java
2.1 Conceptos básicos de programación usando el lenguaje Java
2.1.1 Operadores
2.1.2 Tipos primitivos de datos
2.1.3 Elementos Básicos
2.1.4 Entrada y salida estándar
2.1.5 Método main
2.1.6 Estructuras de programación
3 Lenguaje de
programación Python
3.1 Conceptos básicos de programación usando el lenguaje Python
3.1.1 Operadores
3.1.2 Tipos de datos
3.1.3 Elementos básicos
3.1.4 Entrada y salida estándar
3.1.5 Estructuras de programación
4 Complejidad
algorítmica
4.1 Notación Big-O
4.2 Complejidad temporal
4.2.1 Complejidad constante
4.2.2 Complejidad lineal
4.2.3 Complejidad cuadrática
4.2.4 Complejidad cubica
4.2.5 Complejidad logarítmica
4.2.6 Complejidad lineal logarítmica
4.2.7 Complejidad exponencial
4.2.8 Complejidad factorial
4.3 Complejidad espacial
4.3.1 Complejidad constante
4.3.2 Complejidad lineal
5 Cadenas de
caracteres
5.1 Código ASCII
5.2 Operaciones frecuentes con cadenas de caracteres
5.3 Operaciones usando el código ASCII
5.4 Problemas
5.4.1 Way Too Long Words
5.4.2 Decoding
5.4.3 Chat room
5.4.4 cAPS lOCK
5.4.5 Palindromic Times
5.5 Discusión
6 Ordenamiento
6.1 Algoritmos de ordenamiento
6.1.1 Ordenamiento de burbuja
6.1.2 Ordenamiento por selección
6.1.3 Ordenamiento por inserción
6.1.4 Ordenamiento Shell
6.1.5 Ordenamiento por mezcla
6.1.6 Ordenamiento rápido
6.2 Funciones de ordenamiento
6.2.1 Función sort en C++
6.2.2 Función stable sort en C++
6.2.3 Método Arrays.sort en Java
6.2.4 Función sort en Python
6.3 Problemas
6.3.1 Olympiad
6.3.2 Increasing
6.3.3 Towers
6.3.4 Promo
6.3.5 Social Distance
6.4 Discusión
7 Combinatoria
7.1 Combinación
7.1.1 Combinación sin repetición
7.1.2 Combinación con repetición
7.2 Permutación
7.2.1 Permutación sin repetición
7.2.2 Permutación con repetición
7.3 Variación
7.3.1 Variación sin repetición
7.3.2 Variación con repetición
7.4 Propiedades de números combinatorios
7.5 Teorema del binomio
7.6 Triangulo de Pascal
7.7 Problemas
7.7.1 Password
7.7.2 CQXYM Count Permutations
7.7.3 Infinite Replacement
7.7.4 Lucky Numbers
7.7.5 Silent Classroom
7.8 Discusión
8 Teoría de números
8.1 Divisibilidad
8.2 Números primos
8.2.1 Prueba de primalidad
8.2.2 Siguiente número primo
8.2.3 Criba de Eratóstenes
8.3 Teorema fundamental de la aritmética
8.4 Máximo común divisor
8.5 Mínimo común múltiplo
8.6 Problemas
8.6.1 Gregor and Cryptography
8.6.2 Factorise N+M
8.6.3 Almost Prime
8.6.4 Im bored with life
8.6.5 Minimum LCM
8.7 Discusión
Bibliografía
No hay enlaces disponible
Libros Relacionados