</> CodeBooks
    ← Volver a Algoritmos (página 4)
    Portada de C# Data Structures and Algorithms, 2nd Edition

    C# Data Structures and Algorithms, 2nd Edition

    Marcin Jamro

    Editorial
    Packt
    Año
    2024
    Páginas
    ~465
    Nivel
    Intermedio

    De qué trata

    Guía práctica y actualizada que enseña cómo implementar y aprovechar estructuras de datos y algoritmos eficientes en el ecosistema moderno de C# y .NET (actualizado para C# 12 y .NET 8). Escrito por Marcin Jamro y publicado por Packt en su segunda edición de 2024, el libro está orientado a desarrolladores C# de nivel intermedio que desean escribir código optimizado, escalable y limpio, conociendo tanto las colecciones nativas de la Base Class Library (.NET BCL) como los detalles internos de construir estructuras a medida desde cero.

    El temario repasa los fundamentos del sistema de tipos en C# (tipos por valor y referencia, structs, records, tuplas y tipos anulables) y el cálculo de complejidad algorítmica (Big-O). Continúa con colecciones lineales como arreglos unidimensionales, multidimensionales y dentados (jagged arrays), ordenamientos (burbuja, selección, inserción, quicksort, mergesort, heapsort), variantes de listas (List<T>, LinkedList<T>), pilas (Stack<T>), colas (Queue<T>) y la clase moderna PriorityQueue<TElement, TPriority>. En estructuras asociativas y no lineales, profundiza en tablas de dispersión y conjuntos (Dictionary<TKey, TValue>, HashSet<T>, SortedSet<T>), variantes de árboles (árboles binarios de búsqueda BST, árboles AVL, árboles rojo-negro) y grafos (recorridos BFS y DFS, coloreado, camino más corto con Dijkstra y árboles de expansión mínima con Kruskal y Prim).

    En su sección práctica, el libro aterriza la teoría implementando proyectos y retos lógicos concretos, como la Torre de Hanoi, un solucionador automático de Sudoku y la generación gráfica de fractales recursivos. Su gran valor añadido respecto a los textos puramente académicos es que conecta cada estructura teórica con las clases reales de .NET, enseñando cuándo reutilizar componentes existentes y cuándo implementar estructuras especializadas para maximizar el rendimiento. No incluye demostraciones matemáticas extensas ni ejercicios teóricos de examen, concentrándose directamente en la aplicación profesional de la algoritmia.

    • C# 12
    • .NET 8
    • Estructuras de datos
    • Algoritmos
    • Colecciones genéricas
    • Árboles binarios
    • Grafos
    • Algoritmo de Dijkstra
    • Backtracking
    • Recursión
    • PriorityQueue
    • Complejidad Big-O

    ¿Cómo enseña?

    TeóricoPráctico

    Teoría + práctica

    • ✗ Sin ejercicios
    • ✓ Incluye proyectos

    Proyectos

    Solucionador de Sudoku

    Aplicación en C# que resuelve tableros de Sudoku mediante algoritmos de vuelta atrás (backtracking), evaluando de forma recursiva restricciones de filas, columnas y cuadrículas.

    Resolución de la Torre de Hanoi

    Programa que implementa y visualiza la transferencia secuencial óptima de discos entre varillas utilizando llamadas recursivas y estructuras de pila.

    Generador de fractales

    Herramienta gráfica que dibuja patrones geométricos complejos y autosimilares aprovechando la recursión matemática y el renderizado en .NET.

    Más de Algoritmos con nivel Intermedio