Search results for "Data Structures using C"
Items we need to order for you

Basic Concepts in Data Structures
Data structures are the fundamental building blocks of any computer program, used for storing, representing and manipulating data in a computer. This text presents the basic concepts of data structures as part of the art of writing computer programs. The author concentrates on the fundamentals of what should be done to solve a problem efficiently rather than technical implementation details. The text includes pseudocode and covers all the most common data structures, such as queues, stacks, trees, heaps, and hash tables, along with the basics of searching, sorting, and coding. This book can supplement any undergraduate algorithms or discrete math course and will also be accessible to students and researchers in other quantitative disciplines. No prerequisites beyond introductory programming and basic mathematics are required, and the accessible, conceptual presentation will appeal to undergraduates in many quantitative fields. Carefully designed problem sets with selected solutions will allow students to test their understanding.
R 1,869.00

Hands-On Data Structures and Algorithms with Kotlin
Understand and solve complex computational problems and write efficient code with KotlinKey FeaturesLearn about important data structures such as lists, arrays, queues, and stacksDesign custom algorithms for real-life implementationsIdentify suitable tools for different scenarios and deliver immediate resultsBook DescriptionData structures and algorithms are more than just theoretical concepts. They help you become familiar with computational methods for solving problems and writing logical code. Equipped with this knowledge, you can write efficient programs that run faster and use less memory.Hands-On Data Structures and Algorithms with Kotlin book starts with the basics of algorithms and data structures, helping you get to grips with the fundamentals and measure complexity. You'll then move on to exploring the basics of functional programming while getting used to thinking recursively. Packed with plenty of examples along the way, this book will help you grasp each concept easily. In addition to this, you'll get a clear understanding of how the data structures in Kotlin's collection framework work internally.By the end of this book, you will be able to apply the theory of data structures and algorithms to work out real-world problems.What you will learnUnderstand the basic principles of algorithms and data structuresExplore general-purpose data structures with arrays and linked listsGet to grips with the basics of stacks, queues, and double-ended queuesUnderstand functional programming and related data structuresUse performant searching and efficient sortingUncover how Kotlin's collection framework functionsBecome adept at implementing different types of mapsWho this book is forIf you're a Kotlin developer who wants to learn the intricacies of implementing data structures and algorithms for scalable application development, this book is for you.
R 1,335.00

R 1,109.19

Data Structures And Algorithms Using Java
With an accessible writing style and manageable amount of content, Data Structures and Algorithms Using Java is the ideal text for your course. This outstanding text correlates to the recommended syllabus put forth by the Association of Computing Machinery standard curriculum guidelines. The author has produced a resource that is more readable and instructional than any other, without compromising the scope of the ACM CS103, Data Structures and Algorithms, course material. The text’s unique, student-friendly pedagogical approach and organizational structure will keep students engaged in the process of self-directed investigative discovery both inside and outside the classroom.The pedagogical features of the text, based on the author’s 30 years of teaching experience, include succinct code examples, a unique common template used as the organizational basis of each chapter, the use of pseudocode to present the major algorithms developed in the text, nearly 300 carefully designed figures, and a concise review of Java.
R 6,148.00

Quick Data Structures
If you want to upgrade your programming skills, the most important thing you need is a solid understanding of fundamental data structures. The proper choice of data structures distinguishes excellent programmers from merely competent ones.As an experienced programmer, you use data structures—at least arrays—all the time. However, you may not be familiar with hash tables, trees and binary trees, priority queues, directed and undirected graphs, and other data structures at your disposal.A good choice of data structures will simplify your job, not complicate it. Your code will be not only faster but also easier to understand and debug. There is no downside to using the right data structures for the job.This book Provides an understanding of the fundamental building blocks of data structures Describes the construction and use of all common data structures Explains the simple math required for selecting efficient data structures Equips you with everything you need to choose data structures or devise appropriate new ones
R 5,623.76


Data structures based on linear relations
Data structures is a key course for computer science and related majors. This book presents a variety of practical or engineering cases and derives abstract concepts from concrete problems. Besides basic concepts and analysis methods, it introduces basic data types such as sequential list, tree as well as graph. This book can be used as an undergraduate textbook, as a training textbook or a self-study textbook for engineers.
R 2,606.47

Algorithms and Data Structures
Algorithms are at the heart of every nontrivial computer application, and algorithmics is a modern and active area of computer science. Every computer scientist and every professional programmer should know about the basic algorithmic toolbox: structures that allow efficient organization and retrieval of data, frequently used algorithms, and basic techniques for modeling, understanding and solving algorithmic problems. This book is a concise introduction addressed to students and professionals familiar with programming and basic mathematical language. Individual chapters cover arrays and linked lists, hash tables and associative arrays, sorting and selection, priority queues, sorted sequences, graph representation, graph traversal, shortest paths, minimum spanning trees, and optimization. The algorithms are presented in a modern way, with explicitly formulated invariants, and comment on recent trends such as algorithm engineering, memory hierarchies, algorithm libraries and certifying algorithms. The authors use pictures, words and high-level pseudocode to explain the algorithms, and then they present more detail on efficient implementations using real programming languages like C++ and Java.The authors have extensive experience teaching these subjects to undergraduates and graduates, and they offer a clear presentation, with examples, pictures, informal explanations, exercises, and some linkage to the real world. Most chapters have the same basic structure: a motivation for the problem, comments on the most important applications, and then simple solutions presented as informally as possible and as formally as necessary. For the more advanced issues, this approach leads to a more mathematical treatment, including some theorems and proofs. Finally, each chapter concludes with a section on further findings, providing views on the state of research, generalizations and advanced solutions.
R 1,827.22

R 611.00

Understanding and Using C Pointers
Improve your programming through a solid understanding of C pointers and memory management. With this practical book, you'll learn how pointers provide the mechanism to dynamically manipulate memory, enhance support for data structures, and enable access to hardware. Author Richard Reese shows you how to use pointers with arrays, strings, structures, and functions, using memory models throughout the book. Difficult to master, pointers provide C with much flexibility and power - yet few resources are dedicated to this data type. This comprehensive book has the information you need, whether you're a beginner or an experienced C or C++ programmer or developer.Get an introduction to pointers, including the declaration of different pointer types Learn about dynamic memory allocation, de-allocation, and alternative memory management techniques Use techniques for passing or returning data to and from functions Understand the fundamental aspects of arrays as they relate to pointers Explore the basics of strings and how pointers are used to support them Examine why pointers can be the source of security problems, such as buffer overflow Learn several pointer techniques, such as the use of opaque pointers, bounded pointers and, the restrict keyword
R 1,384.00

R 1,207.25

Quick Data Structures
If you want to upgrade your programming skills, the most important thing you need is a solid understanding of fundamental data structures. The proper choice of data structures distinguishes excellent programmers from merely competent ones.As an experienced programmer, you use data structures—at least arrays—all the time. However, you may not be familiar with hash tables, trees and binary trees, priority queues, directed and undirected graphs, and other data structures at your disposal.A good choice of data structures will simplify your job, not complicate it. Your code will be not only faster but also easier to understand and debug. There is no downside to using the right data structures for the job.This book Provides an understanding of the fundamental building blocks of data structures Describes the construction and use of all common data structures Explains the simple math required for selecting efficient data structures Equips you with everything you need to choose data structures or devise appropriate new ones
R 1,436.43

Data Structures and Program Design Using Java
Data structures provide a means to managing large amounts of information such as large databases, using SEO effectively, and creating Internet/Web indexing services. This book is designed to present fundamentals of data structures for beginners using the Java programming language in a friendly, self-teaching format. Practical analogies using real world applications are integrated throughout the text to explain technical concepts. The book includes a variety of end-of-chapter practice exercises, e.g., programming, theoretical, and multiple-choice.
R 1,823.00

Textbook of Data Structures and Algorithms, Volume 2
Data structures and algorithms is a fundamental course in Computer Science, which enables learners across any discipline to develop the much-needed foundation of efficient programming, leading to better problem solving in their respective disciplines. A Textbook of Data Structures and Algorithms is a textbook that can be used as course material in classrooms, or as self-learning material. The book targets novice learners aspiring to acquire advanced knowledge of the topic. Therefore, the content of the book has been pragmatically structured across three volumes and kept comprehensive enough to help them in their progression from novice to expert. With this in mind, the book details concepts, techniques and applications pertaining to data structures and algorithms, independent of any programming language. It includes 181 illustrative problems and 276 review questions to reinforce a theoretical understanding and presents a suggestive list of 108 programming assignments to aid in the implementation of the methods covered.
R 5,373.00

R 1,423.39

Data Structures and Program Design Using Python
Data structures provide a means to managing huge amounts of information such as large databases, using SEO effectively, and creating Internet/Web indexing services. This book is designed to present fundamentals of data structures for beginners using the Python programming language in a friendly, self-teaching, format. Practical analogies using real world applications are integrated throughout the text to explain technical concepts. The book includes a variety of end-of-chapter practice exercises, e.g., programming, theoretical, and multiple-choice.FEATURES:Covers data structure fundamentals using PythonNumerous tips, analogies, and practical applications enhance understanding of subjects under discussion"Frequently Asked Questions" integrated throughout the text clarify and explain conceptsIncludes a variety of end-of-chapter exercises, e.g., programming, theoretical, and multiple choice.
R 1,823.00

Data Structures for Computational Statistics
Since the beginning of the seventies computer hardware is available to use programmable computers for various tasks. During the nineties the hardware has developed from the big main frames to personal workstations. Nowadays it is not only the hardware which is much more powerful, but workstations can do much more work than a main frame, compared to the seventies. In parallel we find a specialization in the software. Languages like COBOL for business orientated programming or Fortran for scientific computing only marked the beginning. The introduction of personal computers in the eighties gave new impulses for even further development, already at the beginning of the seven ties some special languages like SAS or SPSS were available for statisticians. Now that personal computers have become very popular the number of pro grams start to explode. Today we will find a wide variety of programs for almost any statistical purpose (Koch & Haag 1995).
R 3,036.28

R 2,456.79

Textbook of Data Structures and Algorithms, Volume 3
Data structures and algorithms is a fundamental course in Computer Science, which enables learners across any discipline to develop the much-needed foundation of efficient programming, leading to better problem solving in their respective disciplines. A Textbook of Data Structures and Algorithms is a textbook that can be used as course material in classrooms, or as self-learning material. The book targets novice learners aspiring to acquire advanced knowledge of the topic. Therefore, the content of the book has been pragmatically structured across three volumes and kept comprehensive enough to help them in their progression from novice to expert. With this in mind, the book details concepts, techniques and applications pertaining to data structures and algorithms, independent of any programming language. It includes 181 illustrative problems and 276 review questions to reinforce a theoretical understanding and presents a suggestive list of 108 programming assignments to aid in the implementation of the methods covered.
R 5,373.00

Data Structure Practice
Combining knowledge with strategies, Data Structure Practice for Collegiate Programming Contests and Education presents the first comprehensive book on data structure in programming contests. This book is designed for training collegiate programming contest teams in the nuances of data structure and for helping college students in computer-related majors to gain deeper understanding of data structure.Based on successful experiences in many world-level contests, the book includes 204 typical problems and detailed analyses selected from the ACM International Collegiate Programming Contest and other major programming contests since 1990. It is divided into four sections that focus on:Fundamental programming skillsExperiments for linear listsExperiments for treesExperiments for graphsEach chapter contains a set of problems and includes hints. The book also provides test data for most problems as well as sources and IDs for online judgments that help with improving programming skills.Introducing a multi-options model and considerations of context, Data Structure Practice for Collegiate Programming Contests and Education encourages students to think creatively in solving programming problems. By taking readers through practical contest problems from analysis to implementation, it provides a complete source for enhancing understanding and polishing skills in programming.
R 2,798.99

Basic Concepts in Data Structures
Data structures are the fundamental building blocks of any computer program, used for storing, representing and manipulating data in a computer. This text presents the basic concepts of data structures as part of the art of writing computer programs. The author concentrates on the fundamentals of what should be done to solve a problem efficiently rather than technical implementation details. The text includes pseudocode and covers all the most common data structures, such as queues, stacks, trees, heaps, and hash tables, along with the basics of searching, sorting, and coding. This book can supplement any undergraduate algorithms or discrete math course and will also be accessible to students and researchers in other quantitative disciplines. No prerequisites beyond introductory programming and basic mathematics are required, and the accessible, conceptual presentation will appeal to undergraduates in many quantitative fields. Carefully designed problem sets with selected solutions will allow students to test their understanding.
R 3,655.47

R 611.00

R 1,639.66

Hands-On Data Structures and Algorithms with Rust
Design and implement professional level programs by exploring modern data structures and algorithms in Rust.Key FeaturesUse data structures such as arrays, stacks, trees, lists and graphs with real-world examplesLearn the functional and reactive implementations of the traditional data structuresExplore illustrations to present data structures and algorithms, as well as their analysis, in a clear, visual manner.Book DescriptionRust has come a long way and is now utilized in several contexts. Its key strengths are its software infrastructure and resource-constrained applications, including desktop applications, servers, and performance-critical applications, not forgetting its importance in systems' programming. This book will be your guide as it takes you through implementing classic data structures and algorithms in Rust, helping you to get up and running as a confident Rust programmer. The book begins with an introduction to Rust data structures and algorithms, while also covering essential language constructs. You will learn how to store data using linked lists, arrays, stacks, and queues. You will also learn how to implement sorting and searching algorithms. You will learn how to attain high performance by implementing algorithms to string data types and implement hash structures in algorithm design. The book will examine algorithm analysis, including Brute Force algorithms, Greedy algorithms, Divide and Conquer algorithms, Dynamic Programming, and Backtracking. By the end of the book, you will have learned how to build components that are easy to understand, debug, and use in different applications.What you will learnDesign and implement complex data structures in RustAnalyze, implement, and improve searching and sorting algorithms in RustCreate and use well-tested and reusable components with RustUnderstand the basics of multithreaded programming and advanced algorithm designBecome familiar with application profiling based on benchmarking and testingExplore the borrowing complexity of implementing algorithmsWho this book is forThis book is for developers seeking to use Rust solutions in a practical/professional setting; who wants to learn essential Data Structures and Algorithms in Rust. It is for developers with basic Rust language knowledge, some experience in other programming languages is required.
R 1,498.00


Hands-On Data Structures and Algorithms with Python
Learn to implement complex data structures and algorithms using PythonKey FeaturesUnderstand the analysis and design of fundamental Python data structuresExplore advanced Python concepts such as Big O notation and dynamic programmingLearn functional and reactive implementations of traditional data structuresBook DescriptionData structures allow you to store and organize data efficiently. They are critical to any problem, provide a complete solution, and act like reusable code. Hands-On Data Structures and Algorithms with Python teaches you the essential Python data structures and the most common algorithms for building easy and maintainable applications.This book helps you to understand the power of linked lists, double linked lists, and circular linked lists. You will learn to create complex data structures, such as graphs, stacks, and queues. As you make your way through the chapters, you will explore the application of binary searches and binary search trees, along with learning common techniques and structures used in tasks such as preprocessing, modeling, and transforming data. In the concluding chapters, you will get to grips with organizing your code in a manageable, consistent, and extendable way. You will also study how to bubble sort, selection sort, insertion sort, and merge sort algorithms in detail.By the end of the book, you will have learned how to build components that are easy to understand, debug, and use in different applications. You will get insights into Python implementation of all the important and relevant algorithms.What you will learnUnderstand object representation, attribute binding, and data encapsulationGain a solid understanding of Python data structures using algorithmsStudy algorithms using examples with pictorial representationLearn complex algorithms through easy explanation, implementing PythonBuild sophisticated and efficient data applications in PythonUnderstand common programming algorithms used in Python data scienceWrite efficient and robust code in Python 3.7Who this book is forThis book is for developers who want to learn data structures and algorithms in Python to write complex and flexible programs. Basic Python programming knowledge is expected.
R 1,498.00

Data Structures, Algorithms, and Invariants
Data Structures, Algorithms, and Invariants: A Practical Guide provides students with the knowledge and understanding they need to make sensible decisions regarding the choice of an abstract data type (ADT) for particular use cases. The book is a practical guide that helps readers with the process of building a software application utilizing a variety of list-based, tree-based, and graph-based ADTs.The opening chapters discuss solving problems, the concept of computational complexity, different types of ADTs, and why they are needed in software development. Additional chapters address unordered, positional, and ordered ADTs, the process of sorting, ways of determining order, and graphs. Each chapter features an introduction, learning objectives, key terms, takeaways, QR codes that link out to additional content such as videos, and chapter review questions to support the reading and learning experience. Additionally, students gain access to a companion source code repository that provides implementations of many of the ADTs.Data Structures, Algorithms, and Invariants is an ideal textbook for data structure and algorithms courses in information science, data science, and programming.
R 3,143.19


Textbook of Data Structures and Algorithms, Volume 1
Data structures and algorithms is a fundamental course in Computer Science, which enables learners across any discipline to develop the much-needed foundation of efficient programming, leading to better problem solving in their respective disciplines. A Textbook of Data Structures and Algorithms is a textbook that can be used as course material in classrooms, or as self-learning material. The book targets novice learners aspiring to acquire advanced knowledge of the topic. Therefore, the content of the book has been pragmatically structured across three volumes and kept comprehensive enough to help them in their progression from novice to expert. With this in mind, the book details concepts, techniques and applications pertaining to data structures and algorithms, independent of any programming language. It includes 181 illustrative problems and 276 review questions to reinforce a theoretical understanding and presents a suggestive list of 108 programming assignments to aid in the implementation of the methods covered.
R 5,373.00

Introduction to Data Structures and Algorithms
Data structures and algorithms are presented at the college level in a highly accessible format that presents material with one-page displays in a way that will appeal to both teachers and students. The thirteen chapters cover: Models of Computation, Lists, Induction and Recursion, Trees, Algorithm Design, Hashing, Heaps, Balanced Trees, Sets Over a Small Universe, Graphs, Strings, Discrete Fourier Transform, Parallel Computation. Key features: Complicated concepts are expressed clearly in a single page with minimal notation and without the "clutter" of the syntax of a particular programming language; algorithms are presented with self-explanatory "pseudo-code." * Chapters 1-4 focus on elementary concepts, the exposition unfolding at a slower pace. Sample exercises with solutions are provided. Sections that may be skipped for an introductory course are starred. Requires only some basic mathematics background and some computer programming experience. * Chapters 5-13 progress at a faster pace. The material is suitable for undergraduates or first-year graduates who need only review Chapters 1 -4. * This book may be used for a one-semester introductory course (based on Chapters 1-4 and portions of the chapters on algorithm design, hashing, and graph algorithms) and for a one-semester advanced course that starts at Chapter 5. A year-long course may be based on the entire book. * Sorting, often perceived as rather technical, is not treated as a separate chapter, but is used in many examples (including bubble sort, merge sort, tree sort, heap sort, quick sort, and several parallel algorithms). Also, lower bounds on sorting by comparisons are included with the presentation of heaps in the context of lower bounds for comparison-based structures. * Chapter 13 on parallel models of computation is something of a mini-book itself, and a good way to end a course. Although it is not clear what parallel
R 1,663.18

Guide to Data Structures
This accessible and engaging textbook/guide provides a concise introduction to data structures and associated algorithms. Emphasis is placed on the fundamentals of data structures, enabling the reader to quickly learn the key concepts, and providing a strong foundation for later studies of more complex topics. The coverage includes discussions on stacks, queues, lists, (using both arrays and links), sorting, and elementary binary trees, heaps, and hashing. This content is also a natural continuation from the material provided in the separate Springer title Guide to Java by the same authors.Topics and features: reviews the preliminary concepts, and introduces stacks and queues using arrays, along with a discussion of array-based lists; examines linked lists, the implementation of stacks and queues using references, binary trees, a range of varied sorting techniques, heaps, and hashing; presents both primitive and generic data types in each chapter, and makes use of contour diagrams to illustrate object-oriented concepts; includes chapter summaries, and asks the reader questions to help them interact with the material; contains numerous examples and illustrations, and one or more complete program in every chapter; provides exercises at the end of each chapter, as well as solutions to selected exercises, and a glossary of important terms.This clearly-written work is an ideal classroom text for a second semester course in programming using the Java programming language, in preparation for a subsequent advanced course in data structures and algorithms. The book is also eminently suitable as a self-study guide in either academe or industry.
R 2,381.00

R 611.00

R 611.00

Sequential and Parallel Algorithms and Data Structures
This textbook is a concise introduction to the basic toolbox of structures that allow efficient organization and retrieval of data, key algorithms for problems on graphs, and generic techniques for modeling, understanding, and solving algorithmic problems. The authors aim for a balance between simplicity and efficiency, between theory and practice, and between classical results and the forefront of research. Individual chapters cover arrays and linked lists, hash tables and associative arrays, sorting and selection, priority queues, sorted sequences, graph representation, graph traversal, shortest paths, minimum spanning trees, optimization, collective communication and computation, and load balancing. The authors also discuss important issues such as algorithm engineering, memory hierarchies, algorithm libraries, and certifying algorithms. Moving beyond the sequential algorithms and data structures of the earlier related title, this book takes into account the paradigm shift towards the parallel processing required to solve modern performance-critical applications and how this impacts on the teaching of algorithms. The book is suitable for undergraduate and graduate students and professionals familiar with programming and basic mathematical language. Most chapters have the same basic structure: the authors discuss a problem as it occurs in a real-life situation, they illustrate the most important applications, and then they introduce simple solutions as informally as possible and as formally as necessary so the reader really understands the issues at hand. As they move to more advanced and optional issues, their approach gradually leads to a more mathematical treatment, including theorems and proofs. The book includes many examples, pictures, informal explanations, and exercises, and the implementation notes introduce clean, efficient implementations in languages such as C++ and Java.
R 2,015.00

Data Structures and Algorithms in Python
Based on the authors’ market leading data structures books in Java and C++, this textbook offers a comprehensive, definitive introduction to data structures in Python by respected authors. Data Structures and Algorithms in Python is the first mainstream object-oriented book available for the Python data structures course. Designed to provide a comprehensive introduction to data structures and algorithms, including their design, analysis, and implementation, the text will maintain the same general structure as Data Structures and Algorithms in Java and Data Structures and Algorithms in C++.
R 5,442.00


Common-Sense Guide to Data Structures and Algorithms, 2e
If you thought that data structures and algorithms were all just theory, you're missing out on what they can do for your 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. This new edition features practice exercises in every chapter, and new chapters on topics such as dynamic programming and heaps and tries. Get the hands-on info 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, with examples in JavaScript, Python, and Ruby. This new and revised second edition features new chapters on recursion, dynamic programming, and using Big O in your daily work.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 code faster and more scalable
R 1,590.00

R 1,602.99

Hands-On Data Structures and Algorithms with Python
Understand how implementing different data structures and algorithms intelligently can make your Python code and applications more maintainable and efficientKey FeaturesExplore functional and reactive implementations of traditional and advanced data structuresApply a diverse range of algorithms in your Python codeImplement the skills you have learned to maximize the performance of your applicationsBook DescriptionChoosing the right data structure is pivotal to optimizing the performance and scalability of applications. This new edition of Hands-On Data Structures and Algorithms with Python will expand your understanding of key structures, including stacks, queues, and lists, and also show you how to apply priority queues and heaps in applications. You'll learn how to analyze and compare Python algorithms, and understand which algorithms should be used for a problem based on running time and computational complexity. You will also become confident organizing your code in a manageable, consistent, and scalable way, which will boost your productivity as a Python developer.By the end of this Python book, you'll be able to manipulate the most important data structures and algorithms to more efficiently store, organize, and access data in your applications.What you will learnUnderstand common data structures and algorithms using examples, diagrams, and exercisesExplore how more complex structures, such as priority queues and heaps, can benefit your codeImplement searching, sorting, and selection algorithms on number and string sequencesBecome confident with key string-matching algorithmsUnderstand algorithmic paradigms and apply dynamic programming techniquesUse asymptotic notation to analyze algorithm performance with regard to time and space complexitiesWrite powerful, robust code using the latest features of PythonWho this book is forThis book is for developers and programmers who are interested in learning about data structures and algorithms in Python to write complex, flexible programs. Basic Python programming knowledge is expected.
R 1,628.00


Functional Data Structures and Algorithms
This book is an introduction to data structures and algorithms for functional programming languages, with a focus on proofs. Starting with sorting and searching, it moves on to priority queues and advanced design and analysis techniques: dynamic programming, amortized analysis, splay trees, skew heaps and pairing heaps. The final part of the book covers a number of selected fun topics: graph algorithms, string search, Huffman's algorithm for generating optimal codes and alpha-beta pruning of game trees. The book covers both correctness (does the algorithm do what it is supposed to do?) and running time analysis (does the algorithm terminate within a specified number of steps?). It does so in a unified manner with inductive proofs about functional programs and their running time functions. What sets this book apart from existing books on algorithms is that all proofs have been machine-checked, by the proof assistant Isabelle. That is, in addition to the text in the book, which requires no knowledge of proof assistants!, the Isabelle definitions and proofs are available online. The structured nature of Isabelle proofs permits even novices to follow the high-level arguments. This book is aimed at teachers and students (it has been classroom-tested for a number of years) but is also a reference work for programmers and researchers who are interested in the (verified!) details of some algorithm or proof.
R 1,790.00

Functional Data Structures in R
Get an introduction to functional data structures using R and write more effective code and gain performance for your programs. This book teaches you workarounds because data in functional languages is not mutable: for example you’ll learn how to change variable-value bindings by modifying environments, which can be exploited to emulate pointers and implement traditional data structures. You’ll also see how, by abandoning traditional data structures, you can manipulate structures by building new versions rather than modifying them. You’ll discover how these so-called functional data structures are different from the traditional data structures you might know, but are worth understanding to do serious algorithmic programming in a functional language such as R.By the end of Functional Data Structures in R, you’ll understand the choices to make in order to most effectively work with data structures when you cannot modify the data itself. These techniques are especially applicable for algorithmic development important in big data, finance, and other data science applications.What You'll LearnCarry out algorithmic programming in R Use abstract data structures Work with both immutable and persistent data Emulate pointers and implement traditional data structures in RBuild new versions of traditional data structures that are knownWho This Book Is ForExperienced or advanced programmers with at least a comfort level with R. Some experience with data structures recommended.
R 878.03

R 1,293.00


Learn Data Structures and Algorithms with Golang
Explore Golang's data structures and algorithms to design, implement, and analyze code in the professional settingKey FeaturesLearn the basics of data structures and algorithms and implement them efficientlyUse data structures such as arrays, stacks, trees, lists and graphs in real-world scenariosCompare the complexity of different algorithms and data structures for improved code performanceBook DescriptionGolang is one of the fastest growing programming languages in the software industry. Its speed, simplicity, and reliability make it the perfect choice for building robust applications. This brings the need to have a solid foundation in data structures and algorithms with Go so as to build scalable applications. Complete with hands-on tutorials, this book will guide you in using the best data structures and algorithms for problem solving.The book begins with an introduction to Go data structures and algorithms. You'll learn how to store data using linked lists, arrays, stacks, and queues. Moving ahead, you'll discover how to implement sorting and searching algorithms, followed by binary search trees. This book will also help you improve the performance of your applications by stringing data types and implementing hash structures in algorithm design. Finally, you'll be able to apply traditional data structures to solve real-world problems.By the end of the book, you'll have become adept at implementing classic data structures and algorithms in Go, propelling you to become a confident Go programmer.What you will learnImprove application performance using the most suitable data structure and algorithmExplore the wide range of classic algorithms such as recursion and hashing algorithmsWork with algorithms such as garbage collection for efficient memory management Analyze the cost and benefit trade-off to identify algorithms and data structures for problem solvingExplore techniques for writing pseudocode algorithm and ace whiteboard coding in interviewsDiscover the pitfalls in selecting data structures and algorithms by predicting their speed and efficiencyWho this book is forThis book is for developers who want to understand how to select the best data structures and algorithms that will help solve coding problems. Basic Go programming experience will be an added advantage.
R 1,498.00

Sequential and Parallel Algorithms and Data Structures
This textbook is a concise introduction to the basic toolbox of structures that allow efficient organization and retrieval of data, key algorithms for problems on graphs, and generic techniques for modeling, understanding, and solving algorithmic problems. The authors aim for a balance between simplicity and efficiency, between theory and practice, and between classical results and the forefront of research. Individual chapters cover arrays and linked lists, hash tables and associative arrays, sorting and selection, priority queues, sorted sequences, graph representation, graph traversal, shortest paths, minimum spanning trees, optimization, collective communication and computation, and load balancing. The authors also discuss important issues such as algorithm engineering, memory hierarchies, algorithm libraries, and certifying algorithms. Moving beyond the sequential algorithms and data structures of the earlier related title, this book takes into account the paradigm shift towards the parallel processing required to solve modern performance-critical applications and how this impacts on the teaching of algorithms. The book is suitable for undergraduate and graduate students and professionals familiar with programming and basic mathematical language. Most chapters have the same basic structure: the authors discuss a problem as it occurs in a real-life situation, they illustrate the most important applications, and then they introduce simple solutions as informally as possible and as formally as necessary so the reader really understands the issues at hand. As they move to more advanced and optional issues, their approach gradually leads to a more mathematical treatment, including theorems and proofs. The book includes many examples, pictures, informal explanations, and exercises, and the implementation notes introduce clean, efficient implementations in languages such as C++ and Java.
R 2,015.00

R 428.00

Data Structures and Algorithms
This textbook provides an in depth course on data structures in the context of object oriented development. Its main themes are abstraction, implementation, encapsulation, and measurement: that is, that the software process begins with abstraction of data types, which then lead to alternate representations and encapsulation, and finally to resource measurement. A clear object oriented approach, making use of Booch components, will provide readers with a useful library of data structure components and experience in software reuse. Students using this book are expected to have a reasonable understanding of the basic logical structures such as stacks and queues. Throughout, Ada 95 is used and the author takes full advantage of Ada's encapsulation features and the ability to present specifications without implementational details. Ada code is supported by two suites available over the World Wide Web.
R 2,015.00
















































