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

R 702.00

R 1,787.15

R 2,215.95


R 3,025.42


Introduction to Python Programming and Data Structures, Global Edition
For introductory courses in Python Programming and Data Structures. A fundamentals first approach to programming helps students create efficient, elegant code. Introduction to Python Programming and Data Structures introduces students to basic programming concepts using a fundamentals-first approach that prepares students to learn object-oriented programming and advanced Python programming. This approach presents programming concepts and techniques that include control statements, loops, functions, and arrays before designing custom classes. Students learn basic logic and programming concepts prior to moving into object-oriented and GUI programming. The content incorporates a wide variety of problems with various levels of difficulty and covers many application areas to engage and motivate students.
R 3,391.00


R 2,674.51

Common-Sense Guide to Data Structures and Algorithms in Python, Volume 1
If you thought data structures and algorithms were all just theory, you're missing out on what they can do for your Python 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 Python edition uses Python exclusively for all code examples, exercise, 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 Python code faster and more scalable.
R 2,005.00


R 1,963.69

Data Structures of Pascal, Algol 68, PL/1 and Ada
This book is intended as a text for a course in programming languages. The pre requisites for such a course are insight in structured programming and knowledge as well as practical experience of at least one (e.g., Pascal) of the programming languages treated in the book. The emphasis is on language concepts rather than on syntactic details. The book covers a number of important language concepts that are related to data struc tures. The comparison of the programming languages Pascal, Algol 68, PL/1 and Ada consists in investigating how these concepts are supported by each of these languages. Interesting evaluation criteria are generality, simplicity, safety, readability and portability. The study of programming languages is based on a simple model called SMALL. This model serves as a didactic vehicle for describing, comparing and evaluating data structures in various programming languages. Each chapter centers around a specific language concept. It consists of a general discussion followed by a number of language sections, one for each of the languages Pascal, Algol 68, PL/1 and Ada. Each of these sections contains a number of illustrating program fragments written in the programming language concerned. For each program fragment in one language, there is an analogous fragment in the others. The book can be read "vertically" so that the programming languages Pascal, Algol 68, PL/1 and Ada are encountered in that order several times. A "horizontal" reading of the book would consist in selecting only those sections which only concern one language.
R 3,196.54

ML for the Working Programmer
The new edition of this successful and established textbook retains its two original intentions of explaining how to program in the ML language, and teaching the fundamentals of functional programming. The major change is the early and prominent coverage of modules, which are extensively used throughout. In addition, the first chapter has been totally rewritten to make the book more accessible to those without experience of programming languages. The main features of new Standard Library for the revised version of ML are described and many new examples are given, while references have also been updated. Dr Paulson has extensive practical experience of ML and has stressed its use as a tool for software engineering; the book contains many useful pieces of code, which are freely available (via the Internet) from the author. He shows how to use lists, trees, higher-order functions and infinite data structures. Many illustrative and practical examples are included.. Efficient functional implementations of arrays, queues, priority queues, etc. are described. Larger examples include a general top-down parser, a lambda-calculus reducer and a theorem prover. The combination of careful explanation and practical advice will ensure that this textbook continues to be the preferred text for many courses on ML.
R 3,799.41

Parallel Programming Using C++
Foreword by Bjarne Stroustrup Software is generally acknowledged to be the single greatest obstacle preventing mainstream adoption of massively-parallel computing. While sequential applications are routinely ported to platforms ranging from PCs to mainframes, most parallel programs only ever run on one type of machine. One reason for this is that most parallel programming systems have failed to insulate their users from the architectures of the machines on which they have run. Those that have been platform-independent have usually also had poor performance. Many researchers now believe that object-oriented languages may offer a solution. By hiding the architecture-specific constructs required for high performance inside platform-independent abstractions, parallel object-oriented programming systems may be able to combine the speed of massively-parallel computing with the comfort of sequential programming. Parallel Programming Using C++ describes fifteen parallel programming systems based on C++, the most popular object-oriented language of today. These systems cover the whole spectrum of parallel programming paradigms, from data parallelism through dataflow and distributed shared memory to message-passing control parallelism. For the parallel programming community, a common parallel application is discussed in each chapter, as part of the description of the system itself. By comparing the implementations of the polygon overlay problem in each system, the reader can get a better sense of their expressiveness and functionality for a common problem. For the systems community, the chapters contain a discussion of the implementation of the various compilers and runtime systems. In addition to discussing the performance of polygon overlay, several of the contributors also discuss the performance of other, more substantial, applications. For the research community, the contributors discuss the motivations for and philosophy of their systems. As well, many of the chapters include critiques that complete the research arc by pointing out possible future research directions. Finally, for the object-oriented community, there are many examples of how encapsulation, inheritance, and polymorphism can be used to control the complexity of developing, debugging, and tuning parallel software.
R 2,051.95

R 1,963.69

Programming Language Concepts
This book explains and illustrates key concepts of programming by taking a breadth approach to programming languages. It uses C++ as the primary language throughout, demonstrating imperative, functional and object-oriented language concepts.
R 5,560.00

R 1,963.69

R 1,600.01


R 1,963.69

R 1,963.69

R 3,660.00

Concepts in Programming Languages
For undergraduate and beginning graduate students, this textbook explains and examines the central concepts used in modern programming languages, such as functions, types, memory management, and control. The book is unique in its comprehensive presentation and comparison of major object-oriented programming languages. Separate chapters examine the history of objects, Simula and Smalltalk, and the prominent languages C++ and Java. The author presents foundational topics, such as lambda calculus and denotational semantics, in an easy-to-read, informal style, focusing on the main insights provided by these theories. Advanced topics include concurrency, concurrent object-oriented programming, program components, and inter-language interoperability. A chapter on logic programming illustrates the importance of specialized programming methods for certain kinds of problems. This book will give the reader a better understanding of the issues and tradeoffs that arise in programming language design, and a better appreciation of the advantages and pitfalls of the programming languages they use.
R 4,553.63


Theories of Programming Languages
First published in 1998, this textbook is a broad but rigourous survey of the theoretical basis for the design, definition and implementation of programming languages and of systems for specifying and proving programme behaviour. Both imperative and functional programming are covered, as well as the ways of integrating these aspects into more general languages. Recognising a unity of technique beneath the diversity of research in programming languages, the author presents an integrated treatment of the basic principles of the subject. He identifies the relatively small number of concepts, such as compositional semantics, binding structure, domains, transition systems and inference rules, that serve as the foundation of the field. Assuming only knowledge of elementary programming and mathematics, this text is perfect for advanced undergraduate and beginning graduate courses in programming language theory and also will appeal to researchers and professionals in designing or implementing computer languages.
R 3,649.09

PL / I Structured Programming
A complete course in the PL/I programming language, presented in a simple and logical manner with many features to help the reader grasp the material quickly: checkpoint questions interspersed throughout each chapter; a detailed index to help locate references to technical points and answers to questions; a glossary of terms, and more. Also includes a section on debugging techniques to aid in coding and testing programs, and a case study in each chapter.
R 5,354.00

Programming Rust
Rust combines low-level control with memory safety, making it an ideal choice for systems programming. This practical guide is for experienced programmers looking to write fast, reliable code while avoiding common pitfalls like data races and buffer overflows. Authors Jim Blandy, Jason Orendorff, and Leonora Tindall explain Rust's unique approach to ownership, borrowing, and concurrency, helping you build safe, high-performance applications.Fully updated for Rust's 2024 edition, this book introduces the latest language advancements while covering essential topics like generics, async programming, and C interoperability. Whether you're working on low-latency systems, embedded software, or multithreaded applications, this edition equips you with the knowledge to write efficient, production-ready Rust code.Learn Rust's core principles, including ownership, borrowing, and lifetimesWrite safe, efficient concurrent code without data racesUse powerful features like macros, closures, and async programmingIntegrate Rust with C and C++ through FFI and unsafe codeApply best practices to write performance-critical, memory-safe applications
R 1,978.00

Graphical Programming Using LabVIEW™
In this book, the authors focus on efficient ways to program instrumentation and automation systems using LabVIEW™, a system design platform and development environment commonly used for data acquisition, instrument control, and industrial automation on a variety of operating systems. Starting with the concepts of data flow and concurrent programming, the authors go on to address the development of state machines, event programming and consumer producer systems. Chapters cover the following topics: Introduction to LabVIEW™, debugging tools, structures, SubVIs, structures - LabVIEW™ features, organizing front panel and block diagram, using software resources, using hardware resources, implementing test machines with a basic architecture, controlling the user interface, error handling, responding to the user interactions, the ATM review project, communication between loops at different rates, preventing race conditions, advanced use of software resources, and real-time programming. This book helps undergraduate and graduate students learn how to identify the most suitable design patterns depending on the application, and how to implement them in conjunction with data acquisition and instrumentation control systems. It is also a helpful resource for engineers and scientists who want to implement binary files to record data, control the user interface and implement efficient ways of programming.
R 4,417.00

Python for Engineers and Scientists
This book equips technical professionals with a complete, structured path to mastering Python for real-world engineering and scientific applications. As Python becomes central to research labs, automation, simulation, and data-driven engineering, the learning curve remains steep. This book bridges that gap with a practical roadmap from fundamentals to professional-grade scientific computing.The book begins by building a strong programming foundation—covering Python’s architecture, essential syntax, data structures, modules, functions, control flow, and object-oriented design. Readers learn not only how to write Python, but why the language behaves the way it does, ensuring deep understanding and strong problem-solving skills. From there, the focus shifts to practical engineering tools. Dedicated chapters train readers in file handling, math modules, and key scientific libraries including NumPy, SciPy, Pandas, and Matplotlib, enabling efficient computation, signal processing, data analysis, and high-quality visualization. Advanced chapters then showcase Python’s versatility through GUI development with Kivy, database work with SQLAlchemy, and hands-on control system modeling and analysis. Each topic is rooted in industry and academic scenarios, making the content directly applicable to automation, simulation, data workflows, and engineering computation.Whether you're a student building foundational skills or a professional modernizing engineering workflows, this guide provides the programming depth, scientific tools, and applied knowledge needed to use Python confidently for prototyping, simulation, analysis, and automation. It is the one-stop resource for mastering Python in technical disciplines.What you will learn:Learn core Python programming concepts, including variables, loops, functions, and object-oriented principles in a scientific and engineering context.Build strong skills in key scientific Python libraries such as NumPy, Pandas, Matplotlib, and SciPy for computation, analysis, and visualization.Apply Python to real-world engineering scenarios, including dynamic control systems and automation workflows.Develop interactive engineering applications by creating graphical user interfaces (GUIs) with Kivy. Who this book is for:This book is intended for practicing engineers and scientists across various disciplines of engineering who need to use Python for complex problem-solving, simulation, and data analysis in their work.
R 1,368.00

Process Algebra: Equational Theories of Communicating Processes
Process algebra is a widely accepted and much used technique in the specification and verification of parallel and distributed software systems. This book sets the standard for the field. It assembles the relevant results of most process algebras currently in use, and presents them in a unified framework and notation. The authors describe the theory underlying the development, realization and maintenance of software that occurs in parallel or distributed systems. A system can be specified in the syntax provided, and the axioms can be used to verify that a composed system has the required external behaviour. As examples, two protocols are completely specified and verified in the text: the Alternating-Bit Protocol for Data Communication, and Fischer's Protocol of Mutual Exclusion. The book serves as a reference text for researchers and graduate students in computer science, offering a complete overview of the field and referring to further literature where appropriate.
R 4,628.92


Unifying Framework for Structured Analysis and Design Models
Structured methodologies are a popular and powerful tool in information systems development. Many different ones exist, each employing a number of models and so a specification must be converted from one form to another during the development process. To solve this problem, Dr Tse proposes in this 1991 book a unifying framework behind popular structured models. He approaches the problem from the viewpoints of algebra and category theory. He not only develops the frameworks but also illustrates their practical and theoretical usefulness. Thus this book will provide insight for software engineers into how methodologies can be formalised and will open up a range of applications and problems for theoretical computer scientists.
R 2,029.34

R 2,092.00




































