Search results for "Python Exercises with Data Structures and Algorithms"
Items we need to order for you

R 641.00

Data Structures and Algorithms 1
The design and analysis of data structures and efficient algorithms has gained considerable importance in recent years. The concept of "algorithm" is central in computer science, and "efficiency" is central in the world of money. I have organized the material in three volumes and nine chapters. Vol. 1: Sorting and Searching (chapters I to III) Vol. 2: Graph Algorithms and NP-completeness (chapters IV to VI) Vol. 3: Multi-dimensional Searching and Computational G- metry (chapters VII and VIII) Volumes 2 and 3 have volume 1 as a common basis but are indepen dent from each other. Most of volumes 2 and 3 can be understood without knowing volume 1 in detail. A general kowledge of algorith mic principles as laid out in chapter 1 or in many other books on algorithms and data structures suffices for most parts of volumes 2 and 3. The specific prerequisites for volumes 2 and 3 are listed in the prefaces to these volumes. In all three volumes we present and analyse many important efficient algorithms for the fundamental computa tional problems in the area. Efficiency is measured by the running time on a realistic model of a computing machine which we present in chapter I. Most of the algorithms presented are very recent inven tions; after all computer science is a very young field. There are hardly any theorems in this book which are older than 20 years and at least fifty percent of the material is younger than 10 years.
R 1,688.66

R 2,097.00

Practical Data Structures and Algorithms for Java Developers
Master data structures and algorithms in Java through a practical, engineering-focused approach that goes beyond theory. With modern examples and a structured approach, this book emphasizes not only how algorithms work, but how to choose, adapt, and apply them in real-world systems.To start, you will conquer fundamental concepts such as arrays and linked lists. From there, the book progresses through essential sorting and searching techniques such as QuickSort and Binary Search. Then, you will explore the implementation and use cases of stacks and queues, followed by tree and graph structures with traversal algorithms. The book ends with you tackling advanced topics, such as dynamic programming, tries, and advanced graph algorithms.Finally, you will be ready to put your skills to the test and apply your knowledge in real-world situations for performance optimization.What You Will Learn: Implement and optimize essential data structures in JavaSolve complex algorithmic problems with confidenceMaster best practices for writing efficient, scalable Java code for enterprise applicationsWho This Book Is For: Java developers with a basic understanding of programming concepts who want to deepen their knowledge of data structures and algorithms. Secondary audiences include students, competitive programmers, and software engineers preparing for technical interviews.
R 1,368.00


R 1,220.00


Mastering Algorithms with C
There are many books on data structures and algorithms, including some with useful libraries of C functions. Mastering Algorithms with C offers you a unique combination of theoretical background and working code. With robust solutions for everyday programming tasks, this book avoids the abstract style of most classic data structures and algorithms texts, but still provides all of the information you need to understand the purpose and use of common programming techniques. Implementations, as well as interesting, real-world examples of each data structure and algorithm, are included. Using both a programming style and a writing style that are exceptionally clean, Kyle Loudon shows you how to use such essential data structures as lists, stacks, queues, sets, trees, heaps, priority queues, and graphs. He explains how to use algorithms for sorting, searching, numerical analysis, data compression, data encryption, common graph problems, and computational geometry. And he describes the relative efficiency of all implementations.The compression and encryption chapters not only give you working code for reasonably efficient solutions, they offer explanations of concepts in an approachable manner for people who never have had the time or expertise to study them in depth. Anyone with a basic understanding of the C language can use this book. In order to provide maintainable and extendible code, an extra level of abstraction (such as pointers to functions) is used in examples where appropriate. Understanding that these techniques may be unfamiliar to some programmers, Loudon explains them clearly in the introductory chapters. Contents include: * Pointers * Recursion * Analysis of algorithms * Data structures (lists, stacks, queues, sets, hash tables, trees, heaps, priority queues, graphs) * Sorting and searching * Numerical methods * Data compression * Data encryption * Graph algorithms * Geometric algorithms
R 1,368.00

Foundations of Multidimensional and Metric Data Structures
Foundations of Multidimensional and Metric Data Structures provides a thorough treatment of multidimensional point data, object and image-based representations, intervals and small rectangles, and high-dimensional datasets. The book includes a thorough introduction; a comprehensive survey to spatial and multidimensional data structures and algorithms; and implementation details for the most useful data structures. Each section includes a large number of exercises and solutions to self-test and confirm the reader's understanding and suggest future directions. The book is an excellent and valuable reference tool for professionals in many areas, including computer graphics, databases, geographic information systems (GIS), game programming, image processing, pattern recognition, solid modeling, similarity retrieval, and VLSI design.
R 2,471.00

R 275.00

R 458.00

Data Structures and Algorithms in C++: Pocket Primer
This book takes a minimalist approach to the traditional data structures course. It covers only those topics that are absolutely essential; the more esoteric structures and algorithms are left for later study. Suitable for an introductory data structures course or self-study, this book is written from the ground up in C++ (not translated from a Java-based text), and uses features of the C++ Standard Template Library to illustrate important concepts. A unique feature of the text is its use of literate programming techniques (originally developed by Donald Knuth) to present the sample code in a way that keeps the code from overwhelming the accompanying explanations. This book is suitable for an undergraduate data structures course using C++ or for developers needing review.Features:Takes a ""minimalist"" approach to the material that presents only essential concepts. This enables readers to focus on (and remember) just what they'll need.Uses select features of the C++11 standard to simplify the sample code and make it easier to understand.Connects the concepts directly to the classes provided the Standard Template Library (STL), and shows how these classes can be implemented in C++. Uses ""literate programming"" techniques that allow the presentation of the sample code to more clearly show the details of the code as well as how the pieces fit together.
R 1,025.00


Basic Concepts In Algorithms
This book is the result of several decades of teaching experience in data structures and algorithms. It is self-contained but does assume some prior knowledge of data structures, and a grasp of basic programming and mathematics tools. Basic Concepts in Algorithms focuses on more advanced paradigms and methods combining basic programming constructs as building blocks and their usefulness in the derivation of algorithms. Its coverage includes the algorithms' design process and an analysis of their performance. It is primarily intended as a textbook for the teaching of Algorithms for second year undergraduate students in study fields related to computers and programming.Klein reproduces his oral teaching style in writing, with one topic leading to another, related one. Most of the classical and some more advanced subjects in the theory of algorithms are covered, though not in a comprehensive manner. The topics include Divide and Conquer, Dynamic Programming, Graph algorithms, probabilistic algorithms, data compression, numerical algorithms and intractability. Each chapter comes with its own set of exercises, and solutions to most of them are appended.Related Link(s)
R 2,125.00

125 Problems in Text Algorithms
String matching is one of the oldest algorithmic techniques, yet still one of the most pervasive in computer science. The past 20 years have seen technological leaps in applications as diverse as information retrieval and compression. This copiously illustrated collection of puzzles and exercises in key areas of text algorithms and combinatorics on words offers graduate students and researchers a pleasant and direct way to learn and practice with advanced concepts. The problems are drawn from a large range of scientific publications, both classic and new. Building up from the basics, the book goes on to showcase problems in combinatorics on words (including Fibonacci or Thue-Morse words), pattern matching (including Knuth-Morris-Pratt and Boyer-Moore like algorithms), efficient text data structures (including suffix trees and suffix arrays), regularities in words (including periods and runs) and text compression (including Huffman, Lempel-Ziv and Burrows-Wheeler based methods).
R 4,343.03

R 1,368.00

Advanced Data Structures
This text closely examines ideas, analysis, and implementation details of data structures as a specialised topic in applied algorithms. It looks at efficient ways to realise query and update operations on sets of numbers, intervals, or strings by various data structures, including: search trees; structures for sets of intervals or piece-wise constant functions; orthogonal range search structures; heaps; union-find structures; dynamization and persistence of structures; structures for strings; and hash tables. Instead of relegating data structures to trivial material used to illustrate object-oriented programming methodology, this is the first volume to show data structures as a crucial algorithmic topic. Numerous code examples in C and more than 500 references make Advanced Data Structures an indispensable text.
R 4,161.24

Exercises in Programming Style
The first edition of Exercises in Programming Style was honored as an ACM Notable Book and praised as "The best programming book of the decade." This new edition retains the same presentation but has been upgraded to Python 3, and there is a new section on neural network styles.Using a simple computational task (term frequency) to illustrate different programming styles, Exercises in Programming Style helps readers understand the various ways of writing programs and designing systems. It is designed to be used in conjunction with code provided on an online repository. The book complements and explains the raw code in a way that is accessible to anyone who regularly practices the art of programming. The book can also be used in advanced programming courses in computer science and software engineering programs.The book contains 40 different styles for writing the term frequency task. The styles are grouped into ten categories: historical, basic, function composition, objects and object interactions, reflection and metaprogramming, adversity, data-centric, concurrency, interactivity, and neural networks. The author states the constraints in each style and explains the example programs. Each chapter first presents the constraints of the style, next shows an example program, and then gives a detailed explanation of the code. Most chapters also have sections focusing on the use of the style in systems design as well as sections describing the historical context in which the programming style emerged.
R 6,681.92

Algorithms
This book confronts head-on the main challenges students face in algorithm design and analysis. While maintaining rigor, it breaks down some of the most difficult aspects of algorithm design into step-by-step procedures that all students can follow. In the discussion of basic algorithm design paradigms—graph search, reductions to solved problems, greedy algorithms, divide-and conquer, backtracking, dynamic programming, and gradient descent or hill-climbing—we emphasize not only the techniques themselves but also how to think when designing algorithms for new problems. The book also provides templates for correctness proofs that are tailored to each design paradigm. A wide range of examples are included for every paradigm, from canonical algorithms that clearly illustrate the core ideas to examples that stretch the paradigm in different ways. Within the existing toolbox developed by algorithms researchers, there are both standard tools that students should master and more surprising results that even their discoverers found remarkable. We present both, taking care to distinguish between them and to convey their different roles in algorithmic problem solving. The book includes many types of assignments designed to keep students engaged with the subject. Comprehension quizzes allow students to self-test their understanding of basic vocabulary and concepts. Algorithm design problems range from guided exercises, which walk students through the procedure for designing an algorithm, to open-ended problems that admit multiple correct approaches. Empirical experimental problems give students hands-on experience implementing algorithms (in a language of their choice), testing them experimentally, and summarizing collected data. These assignments also help students better understand both the significance and the limitations of asymptotic analysis, including the differences between worst-case, average-case, and typical algorithm performance. The book was developed for an upper-division undergraduate algorithms course, but it can also be used for a lower-division class (starting with the appendices) or an introductory graduate course (including the optional advanced sections).
R 1,953.00

Intro to Python for Computer Science and Data Science
For introductory-level Python programming and/or data-science courses. A groundbreaking, flexible approach to computer science and data science The Deitels’ Introduction to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and the Cloud offers a unique approach to teaching introductory Python programming, appropriate for both computer-science and data-science audiences. Providing the most current coverage of topics and applications, the book is paired with extensive traditional supplements as well as Jupyter Notebooks supplements. Real-world datasets and artificial-intelligence technologies allow students to work on projects making a difference in business, industry, government and academia. Hundreds of examples, exercises, projects (EEPs), and implementation case studies give students an engaging, challenging and entertaining introduction to Python programming and hands-on data science. The book's modular architecture enables instructors to conveniently adapt the text to a wide range of computer-science and data-science courses offered to audiences drawn from many majors. Computer-science instructors can integrate as much or as little data-science and artificial-intelligence topics as they'd like, and data-science instructors can integrate as much or as little Python as they'd like. The book aligns with the latest ACM/IEEE CS-and-related computing curriculum initiatives and with the Data Science Undergraduate Curriculum Proposal sponsored by the National Science Foundation.
R 5,413.00



Experimental Algorithms
This book constitutes the refereed proceedings of the 14th International Symposium on Experimental Algorithms, SEA 2015, held in Paris, France, in June/July 2015.The 30 revised full papers presented were carefully reviewed and selected from 76 submissions. The main theme of the symposium is the role of experimentation and of algorithm engineering techniques in the design and evaluation of algorithms and data structures. The papers are grouped in topical sections on data structures, graph problems, combinatorial optimization, scheduling and allocation, and transportation networks.
R 1,575.46

R 2,870.00

Learning JavaScript Data Structures and Algorithms -
Hone your skills by learning classic data structures and algorithms in JavaScriptAbout This Book• Understand common data structures and the associated algorithms, as well as the context in which they are used.• Master existing JavaScript data structures such as array, set and map and learn how to implement new ones such as stacks, linked lists, trees and graphs.• All concepts are explained in an easy way, followed by examples.Who This Book Is ForIf you are a student of Computer Science or are at the start of your technology career and want to explore JavaScript's optimum ability, this book is for you. You need a basic knowledge of JavaScript and programming logic to start having fun with algorithms.What You Will Learn• Declare, initialize, add, and remove items from arrays, stacks, and queues• Get the knack of using algorithms such as DFS (Depth-first Search) and BFS (Breadth-First Search) for the most complex data structures• Harness the power of creating linked lists, doubly linked lists, and circular linked lists• Store unique elements with hash tables, dictionaries, and sets• Use binary trees and binary search trees• Sort data structures using a range of algorithms such as bubble sort, insertion sort, and quick sortIn DetailThis book begins by covering basics of the JavaScript language and introducing ECMAScript 7, before gradually moving on to the current implementations of ECMAScript 6. You will gain an in-depth knowledge of how hash tables and set data structure functions, as well as how trees and hash maps can be used to search files in a HD or represent a database. This book is an accessible route deeper into JavaScript. Graphs being one of the most complex data structures you'll encounter, we'll also give you a better understanding of why and how graphs are largely used in GPS navigation systems in social networks.Toward the end of the book, you'll discover how all the theories presented by this book can be applied in real-world solutions while working on your own computer networks and Facebook searches.Style and approachThis book gets straight to the point, providing you with examples of how a data structure or algorithm can be used and giving you real-world applications of the algorithm in JavaScript. With real-world use cases associated with each data structure, the book explains which data structure should be used to achieve the desired results in the real world.
R 1,661.00

Common-Sense Guide to Data Structures and Algorithms in Javascript, Volume 1
If you thought data structures and algorithms were all just theory, you're missing out on what they can do for your JavaScript code. Learn to use Big O notation to make your code run faster by orders of magnitude. Choose from data structures such as hash tables, trees, and graphs to increase your code's efficiency exponentially. With simple language and clear diagrams, this book makes this complex topic accessible, no matter your background. Every chapter features practice exercises to give you the hands-on information you need to master data structures and algorithms for your day-to-day work. Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for today's web and mobile apps. Take a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code. The JavaScript edition uses JavaScript exclusively for all code examples, exercises, and solutions. Use Big O notation to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. You'll even encounter a single keyword that can give your code a turbo boost. Practice your new skills with exercises in every chapter, along with detailed solutions. Use these techniques today to make your JavaScript code faster and more scalable. What You Need: Certain code examples take advantage of recently introduced JavaScript features. Therefore, it's important to use a JavaScript environment that supports ECMAScript 6+ or a newer version.
R 2,421.00

C++ Data Structures and Algorithm Design Principles
Get started with C++ programming by learning how to build applications using its data structures and algorithmsKey FeaturesExplore data structures such as arrays, stacks, and graphs with real-world examplesStudy the trade-offs between algorithms and data structures and discover what works and what doesn'tDiscover how techniques such as bloom filters and multi-way heaps boost real-world applicationsBook DescriptionC++ is a mature multi-paradigm programming language that enables you to write high-level code with a high degree of control over the hardware. Today, significant parts of software infrastructure, including databases, browsers, multimedia frameworks, and GUI toolkits, are written in C++.This book starts by introducing C++ data structures and how to store data using linked lists, arrays, stacks, and queues. In later chapters, the book explains the basic algorithm design paradigms, such as the greedy approach and the divide-and-conquer approach, which are used to solve a large variety of computational problems. Finally, you will learn the advanced technique of dynamic programming to develop optimized implementations of several algorithms discussed in the book.By the end of this book, you will have learned how to implement standard data structures and algorithms in efficient and scalable C++ 14 code.What you will learnBuild applications using hash tables, dictionaries, and setsExplore how modern hardware affects the actual run-time performance of programsApply common algorithms such as heapsort and merge sort for string data typesUse C++ template metaprogramming to write code librariesImplement a URL shortening service using a bloom filterUse appropriate modern C++ idioms such as std:: array instead of C-style arraysWho this book is forThis book is for developers or students who want to revisit basic data structures and algorithm design techniques. Although no mathematical background is required, basic knowledge of complexity classes and Big O notation along with a qualification in an algorithms course will help you get the most out of this book. Familiarity with C++ 14 standard is assumed.
R 1,498.00

R 1,650.88

Introduction To The Analysis Of Algorithms, An (3rd Edition)
A successor to the first and second editions, this updated and revised book is a leading companion guide for students and engineers alike, specifically software engineers who design algorithms. While succinct, this edition is mathematically rigorous, covering the foundations for both computer scientists and mathematicians with interest in the algorithmic foundations of Computer Science.Besides expositions on traditional algorithms such as Greedy, Dynamic Programming and Divide & Conquer, the book explores two classes of algorithms that are often overlooked in introductory textbooks: Randomised and Online algorithms — with emphasis placed on the algorithm itself. The book also covers algorithms in Linear Algebra, and the foundations of Computation.The coverage of Randomized and Online algorithms is timely: the former have become ubiquitous due to the emergence of cryptography, while the latter are essential in numerous fields as diverse as operating systems and stock market predictions.While being relatively short to ensure the essentiality of content, a strong focus has been placed on self-containment, introducing the idea of pre/post-conditions and loop invariants to readers of all backgrounds, as well as all the necessary mathematical foundations. The programming exercises in Python will be available on the web (see www.msoltys.com/book for the companion web site).
R 3,513.76

R 611.00

Data Science and Analytics with Python
Since the first edition of “Data Science and Analytics with Python” we have witnessed an unprecedented explosion in the interest and development within the fields of Artificial Intelligence and Machine Learning. This surge has led to the widespread adoption of the book, not just among business practitioners, but also by universities as a key textbook. In response to this growth, this new edition builds upon the success of its predecessor, expanding several sections, updating the code to reflect the latest advancements in Python libraries and modules, and addressing the ever-evolving landscape of generative AI (GenAI).This updated edition ensures that the examples and exercises remain relevant by incorporating the latest features of popular libraries such as Scikit-learn, pandas, and Numpy. Additionally, new sections delve into cutting-edge topics like generative AI, reflecting the advancements and the expanding role these technologies play. This edition also addresses crucial issues of explainability, transparency, and fairness in AI. These topics have rightly gained significant attention in recent years. As AI integrates more deeply into various aspects of our lives, understanding and mitigating biases, ensuring fairness, and maintaining transparency become paramount. This book provides comprehensive coverage of these topics, offering practical insights and guidance for data scientists and analysts.Designed as a practical companion for data analysts and budding data scientists, this book assumes a working knowledge of programming and statistical modelling but aims to guide readers deeper into the wonders of data analytics and machine learning. Maintaining the book's structure, each chapter stands alone as much as possible, allowing readers to use it as a reference as well as a textbook. Whether revisiting fundamental concepts or diving into new, advanced topics, this book offers something valuable for every reader.
R 3,171.08



Advanced Data Structures
This text closely examines ideas, analysis, and implementation details of data structures as a specialised topic in applied algorithms. It looks at efficient ways to realise query and update operations on sets of numbers, intervals, or strings by various data structures, including: search trees; structures for sets of intervals or piece-wise constant functions; orthogonal range search structures; heaps; union-find structures; dynamization and persistence of structures; structures for strings; and hash tables. Instead of relegating data structures to trivial material used to illustrate object-oriented programming methodology, this is the first volume to show data structures as a crucial algorithmic topic. Numerous code examples in C and more than 500 references make Advanced Data Structures an indispensable text.
R 2,761.27

Introduction To The Analysis Of Algorithms, An (2nd Edition)
A successor to the first edition, this updated and revised book is a great companion guide for students and engineers alike, specifically software engineers who design reliable code. While succinct, this edition is mathematically rigorous, covering the foundations of both computer scientists and mathematicians with interest in algorithms.Besides covering the traditional algorithms of Computer Science such as Greedy, Dynamic Programming and Divide & Conquer, this edition goes further by exploring two classes of algorithms that are often overlooked: Randomised and Online algorithms — with emphasis placed on the algorithm itself. The coverage of both fields are timely as the ubiquity of Randomised algorithms are expressed through the emergence of cryptography while Online algorithms are essential in numerous fields as diverse as operating systems and stock market predictions.While being relatively short to ensure the essentiality of content, a strong focus has been placed on self-containment, introducing the idea of pre/post-conditions and loop invariants to readers of all backgrounds. Containing programming exercises in Python, solutions will also be placed on the book's website.
R 2,121.17



Beginning Algorithms
Beginning Algorithms A good understanding of algorithms, and the knowledge of when to apply them, is crucial to producing software that not only works correctly, but also performs efficiently. This is the only book to impart all this essential information-from the basics of algorithms, data structures, and performance characteristics to the specific algorithms used in development and programming tasks. Packed with detailed explanations and instructive examples, the book begins by offering you some fundamental data structures and then goes on to explain various sorting algorithms. You'll then learn efficient practices for storing and searching by way of hashing, trees, sets, and maps. The authors also share tips on optimization techniques and ways to avoid common performance pitfalls. In the end, you'll be prepared to build the algorithms and data structures most commonly encountered in day-to-day software development. What you will learn from this book The basics of algorithms, such as iteration and recursionElementary data structures such as lists, stacks, and queuesBasic and advanced sorting algorithms including insertion sort, quicksort, and shell sortAdvanced data structures such as binary trees, ternary trees, and heapsAlgorithms for string searching, string matching, hashing, and computational geometryHow to use test-driven development techniques to ensure your code works as intendedHow to dramatically improve the performance of your code with hands-on techniques for profiling and optimization Who this book is for This book is for anyone who develops applications, or is just beginning to do so, and is looking to understand algorithms and data structures. An understanding of computer programming is beneficial. Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.
R 1,303.00

Generic Data Structures and Algorithms in Go
Advance your understanding of generic data structures and algorithms and their applications using Go and the effective use of concurrency. You are invited on a journey that aims to improve your programming and problem-solving skills. This book takes you to the next step by showing how to get your programs to work efficiently as well as correctly. As you explore many data structures and the algorithms and applications associated with them, you'll focus on the trade-offs between speed and storage and the benefits of deploying concurrency when appropriate. This book will demonstrate the huge increases in application performance that are possible. The presentation of classic data structures and techniques of algorithm design (greedy, divide and conquer, branch-and-bound to name a few) provides an essential foundation and toolkit for problem solving. But this book goes further by presenting heuristic algorithms and their implementations for solving computationally intractable combinatoric optimization problems such as the travelling salesperson problem. Simulated annealing and genetic algorithms are among the techniques used.The consistent style of coding used throughout this book exploits Go’s ability to implement abstract, generic and constrained generic data types without the use of classes. Although some familiarity with Go is assumed, this book should advance your ability to use Go to tackle server-side applications, games, machine learning, information retrieval and other application domains where speed and storage efficiency is essential.What You'll LearnExplore classical data structures and algorithms aimed at making your applications run faster or require less storageUse the new generic features of Go to build reusable data structuresUtilize concurrency for maximizing application performanceSee the power of heuristic algorithms for computationally intractable problemsEnhance and improve your Go programming skillsWho This Book Is ForPracticing Go software developers and students who wish to advance their programming and problem-solving skills and experience the excitement and see the benefits of using generic data structures and algorithms that utilize concurrency whenever possible.
R 1,596.00

R 1,254.00

Getting Started with Python Data Analysis
Learn to use powerful Python libraries for effective data processing and analysisAbout This Book• Learn the basic processing steps in data analysis and how to use Python in this area through supported packages, especially Numpy, Pandas, and Matplotlib• Create, manipulate, and analyze your data to extract useful information to optimize your system• A hands-on guide to help you learn data analysis using PythonWho This Book Is ForIf you are a Python developer who wants to get started with data analysis and you need a quick introductory guide to the python data analysis libraries, then this book is for you.What You Will Learn• Understand the importance of data analysis and get familiar with its processing steps• Get acquainted with Numpy to use with arrays and array-oriented computing in data analysis• Create effective visualizations to present your data using Matplotlib• Process and analyze data using the time series capabilities of Pandas• Interact with different kind of database systems, such as file, disk format, Mongo, and Redis• Apply the supported Python package to data analysis applications through examples• Explore predictive analytics and machine learning algorithms using Scikit-learn, a Python libraryIn DetailData analysis is the process of applying logical and analytical reasoning to study each component of data. Python is a multi-domain, high-level, programming language. It's often used as a scripting language because of its forgiving syntax and operability with a wide variety of different eco-systems. Python has powerful standard libraries or toolkits such as Pylearn2 and Hebel, which offers a fast, reliable, cross-platform environment for data analysis.With this book, we will get you started with Python data analysis and show you what its advantages are.The book starts by introducing the principles of data analysis and supported libraries, along with NumPy basics for statistic and data processing. Next it provides an overview of the Pandas package and uses its powerful features to solve data processing problems.Moving on, the book takes you through a brief overview of the Matplotlib API and some common plotting functions for DataFrame such as plot. Next, it will teach you to manipulate the time and data structure, and load and store data in a file or database using Python packages. The book will also teach you how to apply powerful packages in Python to process raw data into pure and helpful data using examples.Finally, the book gives you a brief overview of machine learning algorithms, that is, applying data analysis results to make decisions or build helpful products, such as recommendations and predictions using scikit-learn. Style and approachThis is an easy-to-follow, step-by-step guide to get you familiar with data analysis and the libraries supported by Python. Topics are explained with real-world examples wherever required.
R 1,335.00


Algorithms in Action
Algorithms in Action effectively introduces students to a variety of techniques for designing algorithms with a focus on developing intuitive understanding. Readers learn how to successfully construct foundational algorithms, preparing them for more advanced courses in the discipline, as well as professional application.Over the course of nine chapters, students learn fundamental concepts critical to the development of algorithms, paired with detailed visual representations that walk readers step-by-step through algorithm execution. The text begins with a review of runtime complexity, lower bound for sorting, and trees and graphs, then moves into more complex topical areas, including amortized analysis, heaps, dynamic programming, network flow, linear programming, and NP-completeness. The book includes over 160 figures, as well as review questions and exercises at the end of each chapter, to encourage learning, retention, practice, and application.The revised first edition features corrections throughout the text, as well as an updated preface that underscores the book's value and outlines the ways in which it fits within a graduate student's course progression. Developed to provide students with an approachable and effective introduction to algorithm design,Algorithms in Action is an ideal resource for advanced undergraduate or master-level courses in computer science or related technical disciplines. Foundational knowledge of discrete mathematics, data structures, and calculus is recommended as a prerequisite.
R 3,428.81

Algorithms
This book confronts head-on the main challenges students face in algorithm design and analysis. While maintaining rigor, it breaks down some of the most difficult aspects of algorithm design into step-by-step procedures that all students can follow. In the discussion of basic algorithm design paradigms—graph search, reductions to solved problems, greedy algorithms, divide-and conquer, backtracking, dynamic programming, and gradient descent or hill-climbing—we emphasize not only the techniques themselves but also how to think when designing algorithms for new problems. The book also provides templates for correctness proofs that are tailored to each design paradigm. A wide range of examples are included for every paradigm, from canonical algorithms that clearly illustrate the core ideas to examples that stretch the paradigm in different ways. Within the existing toolbox developed by algorithms researchers, there are both standard tools that students should master and more surprising results that even their discoverers found remarkable. We present both, taking care to distinguish between them and to convey their different roles in algorithmic problem solving. The book includes many types of assignments designed to keep students engaged with the subject. Comprehension quizzes allow students to self-test their understanding of basic vocabulary and concepts. Algorithm design problems range from guided exercises, which walk students through the procedure for designing an algorithm, to open-ended problems that admit multiple correct approaches. Empirical experimental problems give students hands-on experience implementing algorithms (in a language of their choice), testing them experimentally, and summarizing collected data. These assignments also help students better understand both the significance and the limitations of asymptotic analysis, including the differences between worst-case, average-case, and typical algorithm performance. The book was developed for an upper-division undergraduate algorithms course, but it can also be used for a lower-division class (starting with the appendices) or an introductory graduate course (including the optional advanced sections).
R 2,604.00

R 1,301.00














































