Algorytmy
Shane Brubaker
If you've ever felt overwhelmed by the vast number of Python tools available for bioinformatics, you're not alone. The Bioinformatics with Python Cookbook is a recipe-based guide that explores practical approaches for solving classic bioinformatics challenges, showing you which Python packages work best for each task.You’ll start with the essential Python libraries for data science and bioinformatics, then move through key workflows in sequencing analysis, quality control, alignment, and variant calling. Along the way, you’ll pick up modern coding practices, explore recent advances in bioinformatics research, and gain hands-on experience with libraries such as NumPy, pandas, and sci-kit learn. This book walks you through core bioinformatics tasks such as phylogenetic analysis and population genomics while familiarizing you with the wealth of modern public bioinformatics databases. You’ll learn cloud computing approaches used by researchers, set up workflow orchestration systems for controlling bioinformatics pipelines, and see how AI and the use of large language models (LLMs) are reshaping the field–right down to designing proteins and DNA.By the end of this book, you’ll be ready to apply Python for real bioinformatics work and launch bioinformatics pipelines for your research.
Andrei Gheorghiu
Discover the immense potential of Generative AI and Large Language Models (LLMs) with this comprehensive guide. Learn to overcome LLM limitations, such as contextual memory constraints, prompt size issues, real-time data gaps, and occasional ‘hallucinations’. Follow practical examples to personalize and launch your LlamaIndex projects, mastering skills in ingesting, indexing, querying, and connecting dynamic knowledge bases. From fundamental LLM concepts to LlamaIndex deployment and customization, this book provides a holistic grasp of LlamaIndex's capabilities and applications. By the end, you'll be able to resolve LLM challenges and build interactive AI-driven applications using best practices in prompt engineering and troubleshooting Generative AI projects.
Aristides Bouras
Embark on your programming journey with a thorough introduction to how computers work, setting the stage for understanding C++ and its applications. This course begins with the basics, including setting up your development environment and installing necessary software packages. As you progress, you'll delve into fundamental algorithmic concepts, variables, constants, and handling input and output efficiently.As you build your knowledge, the course introduces more complex topics such as sequence control structures, decision-making processes, and loop control structures. You will learn to manipulate numbers, strings, and understand the intricacies of operators through practical exercises and real-world examples. Visual aids like trace tables and flowcharts will help you visualize the flow of your programs and improve your debugging skills.Towards the end of the course, you'll explore advanced topics such as arrays, data structures, subprograms, and an introduction to object-oriented programming. By the conclusion, you will also gain insights into file handling and advanced algorithmic strategies. Each chapter is designed to build on the previous one, ensuring a cohesive and comprehensive learning experience that equips you with the skills needed to excel in C++ programming and algorithmic thinking.
Aristides Bouras
This course takes you on a journey through the basics of C# programming and algorithmic thinking, tailored specifically for complete beginners. Starting with an understanding of how a computer works, you will explore integrated development environments, essential software packages, and basic algorithmic concepts.As you progress, you will delve deeper into key programming constructs such as variables, constants, input and output handling, operators, and control structures. The course emphasizes practical application, guiding you through exercises involving complex mathematical expressions, string manipulations, decision structures, and loop control structures. By the time you reach the advanced sections, you will have a comprehensive understanding of data structures, subprograms, and object-oriented programming.Designed to be engaging and informative, this course offers tips, tricks, and detailed explanations to help you master each concept. The use of Visual Studio Code is seamlessly integrated, providing you with hands-on experience in a real-world development environment. By the end of the course, you will be well-equipped to tackle more advanced programming challenges and continue your journey in the world of software development.
Marcin Jamro
Data structures allow organizing data efficiently. They are critical to various problems and their suitable implementation can provide a complete solution that acts like reusable code. In this book, you will learn how to use various data structures while developing in the C# language as well as how to implement some of the most common algorithms used with such data structures.At the beginning, you will get to know arrays, lists, dictionaries, and sets together with real-world examples of your application. Then, you will learn how to create and use stacks and queues. In the following part of the book, the more complex data structures will be introduced, namely trees and graphs, together with some algorithms for searching the shortest path in a graph. We will also discuss how to organize the code in a manageable, consistent, and extendable way. By the end of the book,you will learn how to build components that are easy to understand, debug, and use in different applications.
Rafik Naccache
Data-structures and algorithms often cross your path when you compress files, compile programs, access databases, or simply use your favourite text editor. Understanding and implementing them can be daunting. Curious learners and industrial developers can find these complex, especially if they focus on the detailed implementation of these data structures.Clojure is a highly pragmatic and expressive language with efficient and easy data manipulation capabilities. As such, it is great for implementing these algorithms. By abstracting away a great share of the unnecessary complexity resulting from implementation, Clojure and its contrib libraries will help you address various algorithmic challenges, making your data exploration both profitable and enjoyable.Through 25 recipes, you'll explore advanced algorithms and data-structures, well served by a sound Clojure implementation.This book opens with an exploration of alternative uses of the array data-structure, covering LZ77 compression, drawing fractals using Pascal's triangles, simulating a multi-threaded program execution, and implementing a call-stack winding and un-winding operations.The book elaborates on linked lists, showing you how to construct doubly linked ones, speed up search times over the elements of such structures, use a linked-list as the foundation of a shift-reduce parser, and implement an immutable linked-list using skew binary numbers representation.After that, the tree data-structure is explored, focusing on building self-balancing Splay Trees, designing a B-Tree backing-up an efficient key-value data-store, constructing an undo capable Rope, and showing how Tries can make for an auto-completing facility.Next, some optimization and machine learning techniques are discussed, namely for building a co-occurrence-based recommendation engine, using branch-and-bound to optimize integral cost and profit problems, using Dijkstra's algorithm to determine optimal paths and summarizing texts using the LexRank algorithm.Particular attention is given to logic programming, you will learn to use this to discover interesting relations between social website data, by designing a simple type inferencer for a mini Java-like language, and by building a simple checkers game engine.Asynchronous programming will be addressed and you will design a concurrent web-crawler, an interactive HTML5 game, and an online taxi booking platform.Finally, you'll explore advanced cases for higher order functions in Clojure while implementing a recursive descent parser using efficient mutual resucrsion, devising a mini resusable firewall simulator thanks to Clojure 1.7 new tansducers feature or building a simple unification engine with the help of Continuation Passing Style.
Data Structures and Algorithms with the C++ STL. A guide for modern C++ practitioners
John Farrier
While the Standard Template Library (STL) offers a rich set of tools for data structures and algorithms, navigating its intricacies can be daunting for intermediate C++ developers without expert guidance. This book offers a thorough exploration of the STL’s components, covering fundamental data structures, advanced algorithms, and concurrency features.Starting with an in-depth analysis of the std::vector, this book highlights its pivotal role in the STL, progressing toward building your proficiency in utilizing vectors, managing memory, and leveraging iterators. The book then advances to STL’s data structures, including sequence containers, associative containers, and unordered containers, simplifying the concepts of container adaptors and views to enhance your knowledge of modern STL programming. Shifting the focus to STL algorithms, you’ll get to grips with sorting, searching, and transformations and develop the skills to implement and modify algorithms with best practices. Advanced sections cover extending the STL with custom types and algorithms, as well as concurrency features, exception safety, and parallel algorithms.By the end of this book, you’ll have transformed into a proficient STL practitioner ready to tackle real-world challenges and build efficient and scalable C++ applications.
Mercury Learning and Information, D. Malhotra, N....
This book introduces the fundamentals of data structures using C++ in a self-teaching format. It covers managing large amounts of information, SEO, and creating Internet/Web indexing services. Practical analogies with real-world applications help explain technical concepts. The book includes end-of-chapter exercises such as programming tasks, theoretical questions, and multiple-choice quizzes.The course starts with an introduction to data structures and the C++ language, progressing through arrays, linked lists, queues, searching and sorting, stacks, trees, multi-way search trees, hashing, files, and graphs. Each chapter builds on the previous one, ensuring a comprehensive understanding of data structures.Understanding these concepts is crucial for managing large databases and optimizing web services. This book guides readers from basic to advanced data structure techniques, blending theoretical knowledge with practical skills. Companion files with source code and data sets enhance the learning experience, making this book an essential resource for mastering data structures with C++.