</> CodeBooks
    ← Volver a Algoritmos (página 4)
    Portada de Learning F# Functional Data Structures and Algorithms

    Learning F# Functional Data Structures and Algorithms

    Adnan Masood

    Editorial
    Packt
    Año
    2015
    Páginas
    ~206
    Nivel
    Básico

    De qué trata

    Guía práctica escrita por el arquitecto de software y Microsoft MVP Adnan Masood, publicada por Packt Publishing en junio de 2015. El libro introduce el paradigma funcional aplicado al modelado de estructuras de datos y algoritmos utilizando el lenguaje F# (orientado a F# 3.0 / 4.0 sobre el ecosistema .NET y Visual Studio). Está concebido para programadores de nivel básico o intermedio con bagaje en desarrollo imperativo u orientado a objetos (habitualmente en C# o Java) que desean iniciarse en la computación funcional y comprender cómo resolver problemas clásicos sin recurrir a estados mutables ni bucles iterativos tradicionales.

    El recorrido comienza sentando los principios del pensamiento funcional: inmutabilidad, composición de funciones, evaluación perezosa (*lazy evaluation*), tipos algebraicos mediante uniones discriminadas (*discriminated unions*), tipos de registro (*records*), tipos opción (`Option`) para el manejo seguro de nulos y coincidencia de patrones (*pattern matching* con *active patterns*). Seguidamente, explora el uso y procesamiento eficiente de colecciones nativas de F# como secuencias (`seq<'T>`), listas y conjuntos, así como el consumo funcional de flujos de datos y archivos CSV. En los capítulos centrales, implementa estructuras de datos funcionales persistentes desde cero: pilas inmutables, colas puras basadas en listas emparejadas, árboles binarios inmutables con sus recorridos, y modelado de grafos con algoritmos de cálculo de caminos más cortos (Dijkstra) y coste mínimo, examinando en cada caso la interoperabilidad con la Base Class Library (BCL) de .NET.

    A través de problemas canónicos como las Torres de Hanoi, la serie de Fibonacci con memoización y el procesamiento de flujos mediante secuencias perezosas, el texto demuestra cómo la inmutabilidad simplifica el razonamiento del código y facilita el diseño de programas inherentemente seguros frente a condiciones de carrera concurrentes. Su gran ventaja es servir como puente accesible para desarrolladores del entorno .NET que buscan adoptar F# sin perderse en una formalidad matemática excesiva. No obstante, por su extensión concisa (alrededor de 200 páginas), no profundiza en estructuras funcionales puras avanzadas (como árboles rojo-negro persistentes o montículos de Okasaki), siendo un excelente punto de partida práctico antes de abordar obras teóricas de mayor densidad.

    • F# 4.0
    • .NET
    • Programación funcional
    • Inmutabilidad
    • Pattern matching
    • Evaluación perezosa (Lazy)
    • Memoización
    • Estructuras persistentes
    • Pilas y colas funcionales
    • Árboles binarios
    • Algoritmos de grafos

    ¿Cómo enseña?

    TeóricoPráctico

    Teoría + práctica

    • ✗ Sin ejercicios
    • ✗ Sin proyectos

    Más de Algoritmos con nivel Básico