Algoritmos e Estruturas de Dados em Rust
Algoritmos e Estruturas de Dados em Rust
Resumo:
O livro «Algoritmos e Estruturas de Dados em Rust» é um guia prático que combina conceitos fundamentais da Ciência da Computação com os recursos modernos da linguagem Rust. O autor, Maxim Voronov, desenvolvedor experiente de software de sistemas, mostra como usar tipagem forte, propriedade (ownership) e o sistema de empréstimo (borrowing) para criar algoritmos eficientes e seguros.
Para quem é este livro?
- Desenvolvedores Rust que desejam aprofundar seus conhecimentos em algoritmos.
- Estudantes e professores que estudam estruturas de dados no contexto de linguagens modernas.
- Engenheiros migrando de C++ ou Python que desejam escrever código sem vazamentos de memória e condições de corrida.
- Todos que desejam entender como implementar algoritmos complexos em Rust do zero.
O que você aprenderá com o livro:
- Estruturas básicas: listas encadeadas, pilhas, filas, tabelas hash considerando as particularidades do Rust (por exemplo, por que uma lista duplamente encadeada é um desafio para o borrow checker).
- Algoritmos de ordenação e busca: quicksort, heapsort, busca binária, além da implementação usando iteradores e closures.
- Árvores e grafos: árvores binárias de busca, árvores AVL, árvores rubro-negras, travessias (DFS/BFS) em grafos com alocação mínima de memória.
- Programação dinâmica: problema da mochila, busca do caminho mais curto (Dijkstra, A*), otimização usando
Box,RceRefCell. - Tópicos avançados: trabalho com código unsafe para estruturas críticas de desempenho, algoritmos paralelos usando
rayonecrossbeam.
Características da edição:
- Cada capítulo contém exemplos de código prontos com explicações.
- Exercícios e problemas para resolução independente (com respostas no final do livro).
- Comparação de desempenho das implementações Rust com equivalentes em C e Python.
- Recomendações para teste de algoritmos usando
cargo teste benchmarks.
Este livro se tornará seu companheiro confiável no aprendizado de algoritmos em Rust. Você aprenderá não apenas a escrever código correto, mas também a pensar em termos de gerenciamento seguro de memória, o que é especialmente importante para programação de sistemas, sistemas embarcados e serviços de alta carga.
Para a leitura, é suficiente um conhecimento básico da sintaxe do Rust. Todos os conceitos necessários (propriedade, empréstimo, lifetimes) são explicados ao longo do texto.