Book Description
The study of algorithms and data structures is central to understanding what computer science is all about. Learning computer science is not unlike learning any other type of difficult subject matter. The only way to be successful is through deliberate and incremental exposure to the fundamental ideas. A beginning computer scientist needs practice so that there is a thorough understanding before continuing on to the more complex parts of the curriculum. In addition, a beginner needs to be given the opportunity to be successful and gain confidence. This open book is designed to serve as a text for a first course on data structures and algorithms, typically taught as the second course in the computer science curriculum. Even though the second course is considered more advanced than the first course, this book assumes you are beginners at this level. You may still be struggling with some of the basic ideas and skills from a first computer science course and yet be ready to further explore the discipline and continue to practice problem solving. We cover abstract data types and data structures, writing algorithms, and solving problems. We look at a number of data structures and solve classic problems that arise. The tools and techniques that you learn here will be applied over and over as you continue your study of computer science.
This open book is licensed under a Creative Commons License (CC BY). You can download Problem Solving with Algorithms and Data Structures ebook for free in PDF format (4.9 MB).
Table of Contents
Chapter 1
Introduction
Chapter 2
Algorithm Analysis
Chapter 3
Basic Data Structures
Chapter 4
Recursion
Chapter 5
Sorting and Searching
Chapter 6
Trees and Tree Algorithms
Chapter 7
JSON
Book Details
Title
Problem Solving with Algorithms and Data Structures
Subject
Computer Science
Publisher
Self-publishing
Published
2014
Pages
240
Edition
3
Language
English
PDF Size
4.9 MB
License
Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. Focusing on a mathematically rigorous approach that is fast, practical, and efficient, Mor...
Intel Xeon Phi Coprocessor Architecture and Tools: The Guide for Application Developers provides developers a comprehensive introduction and in-depth look at the Intel Xeon Phi coprocessor architecture and the corresponding parallel data structure tools and algorithms used in the various technical computing applications for which it is suitable. It...
This survey book reviews four interrelated areas: (i) the relevance of heuristics in problem-solving approaches – why they are important and what research tells us about their use; (ii) the need to characterize and foster creative problem-solving approaches – what type of heuristics helps learners devise and practice creative solutions; (iii) t...
Beginning and experienced programmers will use this comprehensive guide to persistent memory programming. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better performance and faster application startup times - a huge leap forward in byte-addressable capacity compar...
This book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insights in an approachable manner. Throughout the book the authors present ...
If you're a student studying computer science or a software developer preparing for technical interviews, this practical book will help you learn and review some of the most important ideas in software engineering - data structures and algorithms - in a way that's clearer, more concise, and more engaging than other materials.
By emphas...