R Data Structures and Algorithms

Increase speed and performance of your applications with efficient data structures and algorithms

R Data Structures and Algorithms

This ebook is included in a Mapt subscription
Dr. PKS Prakash, Achyutuni Sri Krishna Rao

Increase speed and performance of your applications with efficient data structures and algorithms
$0.00
$27.20
$39.99
$29.99p/m after trial
RRP $31.99
RRP $39.99
Subscription
eBook
Print + eBook
Start 30 Day Trial
Subscribe and access every Packt eBook & Video.
 
  • 4,000+ eBooks & Videos
  • 40+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 
Preview in Mapt

Book Details

ISBN 139781786465153
Paperback276 pages

Book Description

In this book, we cover not only classical data structures, but also functional data structures.

We begin by answering the fundamental question: why data structures? We then move on to cover the relationship between data structures and algorithms, followed by an analysis and evaluation of algorithms. We introduce the fundamentals of data structures, such as lists, stacks, queues, and dictionaries, using real-world examples. We also cover topics such as indexing, sorting, and searching in depth.

Later on, you will be exposed to advanced topics such as graph data structures, dynamic programming, and randomized algorithms. You will come to appreciate the intricacies of high performance and scalable programming using R. We also cover special R data structures such as vectors, data frames, and atomic vectors.

With this easy-to-read book, you will be able to understand the power of linked lists, double linked lists, and circular linked lists. We will also explore the application of binary search and will go in depth into sorting algorithms such as bubble sort, selection sort, insertion sort, and merge sort.

Table of Contents

Chapter 1: Getting Started
Introduction to data structure
Abstract data type and data structure
Relationship between problem and algorithm
Basics of R
First class functions in R
Exercises
Summary
Chapter 2: Algorithm Analysis
Getting started with data structure
Memory management in R
Exercises
Summary
Chapter 3: Linked Lists
Data types in R
Object-oriented programming using R
Linked list
Array-based list
Analysis of list operations
Exercises
Summary
Chapter 4: Stacks and Queues
Stacks
Queues
Dictionaries
Exercises
Summary
Chapter 5: Sorting Algorithms
Sorting terminology and notation
Three Θ(n²) sorting algorithms
Shell sort
Merge sort
Quick sort
Heap sort
Bin sort and radix sort
An empirical comparison of sorting algorithms
Lower bounds for sorting
Exercises
Summary
Chapter 6: Exploring Search Options
Searching unsorted and sorted vectors
Self-organizing lists
Hashing
Exercises
Summary
Chapter 7: Indexing
Linear indexing
ISAM
Tree-based indexing
2-3 trees
B-trees
Exercises
Summary
Chapter 8: Graphs
Terminology and representations
Graph implementations
Graph traversals
Shortest path problems
Minimum-cost spanning tree
Exercises
Summary
Chapter 9: Programming and Randomized Algorithms
Dynamic programming
Randomized algorithms
Exercises
Summary
Chapter 10: Functional Data Structures
Functional data structure
Summary

What You Will Learn

  • Understand the rationality behind data structures and algorithms
  • Understand computation evaluation of a program featuring asymptotic and empirical algorithm analysis
  • Get to know the fundamentals of arrays and linked-based data structures
  • Analyze types of sorting algorithms
  • Search algorithms along with hashing
  • Understand linear and tree-based indexing
  • Be able to implement a graph including topological sort, shortest path problem, and prim’s algorithm
  • Understand dynamic programming (Knapsack) and randomized algorithms

Authors

Table of Contents

Chapter 1: Getting Started
Introduction to data structure
Abstract data type and data structure
Relationship between problem and algorithm
Basics of R
First class functions in R
Exercises
Summary
Chapter 2: Algorithm Analysis
Getting started with data structure
Memory management in R
Exercises
Summary
Chapter 3: Linked Lists
Data types in R
Object-oriented programming using R
Linked list
Array-based list
Analysis of list operations
Exercises
Summary
Chapter 4: Stacks and Queues
Stacks
Queues
Dictionaries
Exercises
Summary
Chapter 5: Sorting Algorithms
Sorting terminology and notation
Three Θ(n²) sorting algorithms
Shell sort
Merge sort
Quick sort
Heap sort
Bin sort and radix sort
An empirical comparison of sorting algorithms
Lower bounds for sorting
Exercises
Summary
Chapter 6: Exploring Search Options
Searching unsorted and sorted vectors
Self-organizing lists
Hashing
Exercises
Summary
Chapter 7: Indexing
Linear indexing
ISAM
Tree-based indexing
2-3 trees
B-trees
Exercises
Summary
Chapter 8: Graphs
Terminology and representations
Graph implementations
Graph traversals
Shortest path problems
Minimum-cost spanning tree
Exercises
Summary
Chapter 9: Programming and Randomized Algorithms
Dynamic programming
Randomized algorithms
Exercises
Summary
Chapter 10: Functional Data Structures
Functional data structure
Summary

Book Details

ISBN 139781786465153
Paperback276 pages
Read More

Read More Reviews