Algorytmy

W publikacjach zawartych w kategorii Algorytmy znajdziecie cały szereg użytecznych informacji dotyczących algorytmów i związanych z nimi struktur danych.

Poznacie takie pojęcia jak rekurencja, analiza złożoności czy algorytmy sortowania i przeszukiwania oraz metody numeryczne. Nauczycie się stosować w praktyce techniki programowania typu dziel i rządź, algorytmy żarłoczne oraz metody przeszukiwania tekstów takie jak brute-force, Rabina i Karpa czy K-M-P. Dzięki książkom o strukturach i algorytmach szybko opanujecie metody optymalizacji, sposoby kodowania i kompresji danych. Dane te pozwolą Wam szybko i bezboleśnie opanować najlepsze techniki programowania.

17
Ładowanie...
EBOOK

Algorytmy. Struktury danych i złożoność obliczeniowa

Feliks Kurp

Algorytmy to skończone ciągi jasno zdefiniowanych czynności, prowadzących do wykonania określonych zadań. Niniejszy podręcznik, skupiony na algorytmach imperatywnych  (od łacińskiego słowa imporo – rozkazywać) wprowadza podstawowe pojęcia algorytmiki niezbędne do nauki programowania. Uczy projektowania, zapisywania i analizy poprawności, jak również podstaw szacowania złożoności czasowej i pamięciowej algorytmów.  Wraz z książką, którą trzymasz w ręku między innymi: Poznasz szereg ważnych algorytmów, jak wyszukiwanie binarne, sortowanie szybkie, algorytmy klasy dziel i zwyciężaj, algorytmy zachłanne etc. Nauczysz się korzystać ze stosowanych powszechnie w  programowaniu struktur danych: tablic, słowników, list wiązanych, stosów, kolejek, drzew binarnych i grafów. Dowiesz się jak praktycznie stosować iterację i rekurencję w programowaniu. Zdobędziesz podstawy języka Java  W książce zamieszczono szereg zadań, których rozwiązanie zmusza czytelnika do lepszego zrozumienia i pogłębienia  jego umiejętności praktycznych. Książka jest bogato ilustrowana rysunkami poglądowymi i fragmentami kodów.

18
Ładowanie...
EBOOK

Algorytmy sztucznej inteligencji. Ilustrowany przewodnik

Rishal Hurbans

Sztuczna inteligencja ma umożliwiać wykorzystywanie danych i algorytmów do podejmowania lepszych decyzji, rozwiązywania trudnych problemów i automatyzowania złożonych zadań. Ma też zwiększać produktywność człowieka. Obecnie sztuczna inteligencja z rozmachem wkracza do kolejnych dziedzin. Budzi zachwyt, ale też kontrowersje i obawy. Nowe narzędzia, choćby były tworzone z najlepszymi intencjami, zawsze mogą zostać wykorzystane w niewłaściwy czy szkodliwy sposób. Oznacza to, że każdy, kto rozwija nowe technologie, powinien to robić odpowiedzialnie. Aby to było możliwe, trzeba dobrze zrozumieć podstawy działania sztucznej inteligencji - algorytmy. To praktyczny przewodnik po algorytmach sztucznej inteligencji. Skorzystają z niego programiści i inżynierowie, którzy chcą zrozumieć zagadnienia i algorytmy związane ze sztuczną inteligencją na podstawie praktycznych przykładów i wizualnych wyjaśnień. Książka pokazuje, jak radzić sobie z takimi zadaniami programistycznymi jak wykrywanie oszustw bankowych czy sterowanie pojazdem autonomicznym. Pierwsze rozdziały dotyczą podstawowych koncepcji i algorytmów i stają się punktem wyjścia do bardziej złożonych tematów: wydajnych algorytmów przeszukiwania oraz poszukiwania rozwiązań w środowisku konkurencyjnym. Przedstawiono tu zagadnienia uczenia maszynowego, w tym proces przygotowania danych, modelowania i testowania. Omówiono też zasady uczenia przez wzmacnianie za pomocą algorytmu Q-learning. W książce: kategorie i znaczenie algorytmów sztucznej inteligencji. inteligentne przeszukiwanie w procesie podejmowania decyzji algorytmy genetyczne i inteligencja rozproszona uczenie maszynowe i sieci neuronowe uczenie przez wzmacnianie Zrozum algorytmy, a pojmiesz istotę sztucznej inteligencji!

19
Ładowanie...
EBOOK

Algorytmy uczenia maszynowego. Zaawansowane techniki implementacji

Giuseppe Bonaccorso

Imponujący rozwój standardowych algorytmów przy ciągłej obniżce cen sprzętu i udostępnianiu coraz to szybszych komponentów przyczynił się do zrewolucjonizowania wielu gałęzi przemysłu. Obecnie uczenie maszynowe pozwala automatyzować procesy, które do niedawna musiały być zarządzane przez człowieka. Zadania, które jeszcze dekadę temu stanowiły nieprzekraczalną przeszkodę, dziś są wykonywane przez zwykły komputer osobisty. W efekcie dzięki technologii oraz dostępnym wysokopoziomowym otwartym platformom każdy, kto zainteresuje się uczeniem maszynowym, może projektować i wdrażać niezwykle potężne modele. Celem tej książki jest przybliżenie profesjonalistom tajników złożonych algorytmów uczenia maszynowego i zasad ich stosowania w praktyce. Poza praktycznymi informacjami dotyczącymi działania algorytmów i ich wdrożeń znalazły się tu również niezbędne podstawy teoretyczne. Opisano klasyczne modele uczenia nadzorowanego, nienadzorowanego i półnadzorowanego. Wskazano, w jakich sytuacjach okazują się one najbardziej przydatne. Zaprezentowano techniki wydobywania danych za pomocą modeli bayesowskich, algorytmu MCMC, a także dzięki stosowaniu ukrytych modeli Markowa. Omówiono zestaw przydatnych do uczenia maszynowego narzędzi, takich jak biblioteki: scikit-learn, Keras i TensorFlow. Najciekawsze zagadnienia: najważniejsze koncepcje teoretyczne uczenia maszynowego modelowanie probabilistyczne i uczenie hebbowskie zaawansowane koncepcje modeli neuronowych modele generatywne, takie jak splotowe sieci GAN i sieci Wassersteina głębokie sieci przekonań zaawansowane algorytmy: TD(tylda), aktor-krytyk, SARSA i Q-uczenie Uczenie maszynowe - już dziś zaimplementuj rozwiązania przyszłości!

20
Ładowanie...
EBOOK

Algorytmy. Wydanie IV

Robert Sedgewick, Kevin Wayne

Nie odkrywaj koła na nowo — sprawdź gotowe rozwiązania! Jak oceniać wydajność algorytmów? Jak wydajnie sortować elementy? Jak kompresować dane? Algorytmy od zawsze porównywane były do przepisów kucharskich. Z celnością tego porównania trudno dyskutować, na pewno jednak przesolenie zupy ma zupełnie inne konsekwencje niż błędnie opracowany lub zaimplementowany algorytm. To właśnie algorytmy decydują o czasie wykonania skomplikowanych operacji przez programy komputerowe, a ich odpowiednia implementacja może niejednokrotnie decydować o sukcesie lub porażce projektu wartego fortunę. Dzięki tej książce masz szansę uniknąć typowych programistycznych błędów i porażek. Jej lektura zapozna Cię z najpopularniejszymi algorytmami, ich licznymi zaletami oraz słabymi stronami. Sprawdzisz, do czego można je zastosować, a w jakich miejscach lepiej zrezygnować z ich wykorzystania. Ponadto nauczysz się analizować działanie algorytmów, mierzyć ich wydajność oraz dobierać dane testowe. W książce zostały omówione klasyczne algorytmy sortowania, wyszukiwania, operacji na grafach oraz kompresji danych. Jej ogromnym atutem są przykładowe implementacje algorytmów w języku JAVA oraz to, że przedstawiony kod jest gotowy do natychmiastowego użycia! Pozycja ta jest obowiązkową lekturą dla każdego programisty, któremu zależy na najwyższej wydajności tworzonych rozwiązań. Podstawowe pojęcia Struktura programu w języku JAVA Instrukcje, typy danych, wyrażenia w języku JAVA Korzystanie z abstrakcyjnych typów danych Stosy, kolejki Analiza algorytmów Algorytmy sortowania i wyszukiwania Wykorzystanie grafów Znajdowanie najkrótszej ścieżki Operacja na łańcuchach znaków Algorytmy kompresji danych Nie trać czasu i energii — korzystaj ze sprawdzonych rozwiązań!

21
Ładowanie...
EBOOK

Artificial Intelligence with Python. A Comprehensive Guide to Building Intelligent Apps for Python Beginners and Developers

Prateek Joshi

Artificial Intelligence is becoming increasingly relevant in the modern world. By harnessing the power of algorithms, you can create apps which intelligently interact with the world around you, building intelligent recommender systems, automatic speech recognition systems and more.Starting with AI basics you'll move on to learn how to develop building blocks using data mining techniques. Discover how to make informed decisions about which algorithms to use, and how to apply them to real-world scenarios. This practical book covers a range of topics including predictive analytics and deep learning.

22
Ładowanie...
EBOOK

Asynchronous Programming in Python. Apply asyncio in Python to build scalable, high-performance apps across multiple scenarios

Nicolas Bohorquez

Asynchronous programming is one of the most effective but often misunderstood techniques for building fast, scalable, and responsive systems in Python. While it can significantly improve performance, efficiency, and sustainability, using async without a clear understanding of its trade-offs can lead to fragile designs and hard-to-debug issues.This book offers a structured approach to applying asynchronous programming in Python. It begins with a conceptual framework to help you distinguish between synchronous and asynchronous execution models, and shows how async relates to other concurrency strategies such as multithreading and multiprocessing. From there, you will explore the core tools available for building async applications in Python.You will also learn how to measure the impact of async programming in practical scenarios, profile and debug asynchronous code, and evaluate performance improvements using real-world metrics. The final chapters focus on applying async techniques to common cloud-based systems, such as web frameworks, database interactions, and data-pipelines tools.Designed for developers looking to apply async programming with confidence, this book blends real-world examples with core concepts to help you write efficient, maintainable Python code.

23
Ładowanie...
EBOOK

Badanie danych. Raport z pierwszej linii działań

Rachel Schutt, Cathy O'Neil

Unikalne wprowadzenie do nauki o danych! W dzisiejszych czasach najcenniejszym dobrem jest informacja. Ogromne ilości danych są przechowywane w przepastnych bazach danych, a kluczem do sukcesu jest ich umiejętna analiza i wyciąganie wniosków. To dynamicznie rozwijająca się dziedzina wiedzy, w której do tej pory brakowało solidnych podręczników, pozwalających na dogłębne poznanie tego obszaru. Na szczęście to się zmieniło! To unikalna książka, w której badacze z największych firm branży IT dzielą się skutecznymi technikami analizy danych. Z kolejnych rozdziałów dowiesz się, czym jest nauka o danych, model danych oraz test A/B. Ponadto zdobędziesz wiedzę na temat wnioskowania statystycznego, algorytmów, języka R oraz wizualizacji danych. Sięgnij po tę książkę, jeżeli chcesz się dowiedzieć, jak wykrywać oszustwa, korzystać z MapReduce oraz badać przyczynowość. To obowiązkowa pozycja na półce czytelników zainteresowanych badaniem danych. Wśród tematów poruszonych w książce odnajdziesz: Wnioskowanie statystyczne, eksploracyjną analizę danych i proces (metodologię) nauki o danych Algorytmy Filtry spamu, naiwny algorytm Bayesa i wstępną obróbkę danych Regresję logistyczną Modelowanie finansowe Mechanizmy rekomendacji i przyczynowość Wizualizowanie danych Sieci społecznościowe i dziennikarstwo danych Inżynierię danych, systemy MapReduce, Pregel i Hadoop Wyciągnij wartościowe wnioski z posiadanych informacji!

24
Ładowanie...
EBOOK

Beginning Java Data Structures and Algorithms. Sharpen your problem solving skills by learning core computer science concepts in a pain-free manner

James Cutajar

Learning about data structures and algorithms gives you a better insight on how to solve common programming problems. Most of the problems faced everyday by programmers have been solved, tried, and tested. By knowing how these solutions work, you can ensure that you choose the right tool when you face these problems.This book teaches you tools that you can use to build efficient applications. It starts with an introduction to algorithms and big O notation, later explains bubble, merge, quicksort, and other popular programming patterns. You’ll also learn about data structures such as binary trees, hash tables, and graphs. The book progresses to advanced concepts, such as algorithm design paradigms and graph theory. By the end of the book, you will know how to correctly implement common algorithms and data structures within your applications.

25
Ładowanie...
EBOOK

Bioinformatics with Python Cookbook. Solve advanced computational biology problems and build production pipelines with Python and AI tools - Fourth Edition

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.

26
Ładowanie...
EBOOK

Building Data-Driven Applications with LlamaIndex. A practical guide to retrieval-augmented generation (RAG) to enhance LLM applications

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.

27
Ładowanie...
EBOOK

C++ and Algorithmic Thinking for the Complete Beginner. Learn to think like a programmer by mastering C++ and foundational algorithms from scratch

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.

28
Ładowanie...
EBOOK

C# and Algorithmic Thinking for the Complete Beginner. Unlock the Power of Programming with C# 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.

29
Ładowanie...
EBOOK

C# Data Structures and Algorithms. Explore the possibilities of C# for developing a variety of efficient applications

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.

30
Ładowanie...
EBOOK

Clojure Data Structures and Algorithms Cookbook. 25 recipes to deeply understand and implement advanced algorithms in Clojure

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.

31
Ładowanie...
EBOOK

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.

32
Ładowanie...
EBOOK

Data Structures and Program Design Using C++. A Self-Teaching Introduction to Data Structures and C++

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++.