My Account Log in

3 options

R data structures and algorithms : increase speed and performance of your applications with efficient data structures and algorithms / Dr. PKS Prakash, Achyutuni Sri Krishna Rao.

EBSCOhost Academic eBook Collection (North America) Available online

View online

Ebook Central College Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Prakash, PKS, author.
Rao, Achyutuni Sri Krishna, author.
Language:
English
Subjects (All):
R (Computer program language).
Data structures (Computer science).
Physical Description:
1 online resource (266 pages)
Edition:
1st edition
Place of Publication:
Birmingham, England ; Mumbai, [India] : Packt Publishing, 2016.
System Details:
text file
Summary:
Increase speed and performance of your applications with efficient data structures and algorithms About This Book See how to use data structures such as arrays, stacks, trees, lists, and graphs through real-world examples Find out about important and advanced data structures such as searching and sorting algorithms Understand important concepts such as big-o notation, dynamic programming, and functional data structured Who This Book Is For This book is for R developers who want to use data structures efficiently. Basic knowledge of R is expected. 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 In Detail 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. Style and approach This easy-to-read book with its fast-paced nature will improve the productivity of an R programmer and improve the performance of R applications. It is packed with real-world examples.
Contents:
Cover
Copyright
Credits
About the Authors
Acknowledgments
About the Reviewer
www.PacktPub.com
Table of Contents
Preface
Chapter 1: Getting Started
Introduction to data structure
Abstract data type and data structure
Relationship between problem and algorithm
Basics of R
Installation of R
Basic data types in R
Operations in R
Control structures in R
If condition
If…else condition
Ifelse function
For() loop
Nested for( ) loop
While loop
Special statements in loops
Break statement
Next statement
Repeat loop
First class functions in R
Exercises
Summary
Chapter 2: Algorithm Analysis
Getting started with data structure
Memory management in R
System runtime in R
Best, worst, and average cases
Computer versus algorithm
Algorithm asymptotic analysis
Upper bounds or Big O notation
Lower bounds or Big Omega notation (Ω)
Big θ notation
Simplifying rules
Classifying rules
Computation evaluation of a program
Component 1 - Assignment operator
Component 2 - Simple loop
Component 3 - Complex loop
Component 4 - Loops with conditional statements
Component 5 - Recursive statements
Analyzing problems
Space bounds
Chapter 3: Linked Lists
Data types in R
Vector and atomic vector
Element data types
Factor
Matrix
Array
Dataframes
List
Object-oriented programming using R
Linked list
Linear linked list
Doubly linked list
Circular linked list
Array-based list
Analysis of list operations
Chapter 4: Stacks and Queues
Stacks
Array-based stacks
Linked stacks
Comparison of array-based and linked stacks
Implementing recursion
Queues
Array-based queues
Linked queues
Comparison of array-based and linked queues.
Dictionaries
Chapter 5: Sorting Algorithms
Sorting terminology and notation
Three Θ(n²) sorting algorithms
Insertion sort
Bubble sort
Selection sort
The cost of exchange sorting
Shell sort
Merge sort
Quick sort
Heap sort
Bin sort and radix sort
An empirical comparison of sorting algorithms
Lower bounds for sorting
Chapter 6: Exploring Search Options
Searching unsorted and sorted vectors
Self-organizing lists
Heuristic 1 - Count
Heuristic 2 - Move-to-front
Heuristic 3 - Transpose
Hashing
Hash functions
Open hashing
Closed hashing
Bucket hashing
Linear probing
Analysis of closed hashing
Deletion
Chapter 7: Indexing
Linear indexing
ISAM
Tree-based indexing
2-3 trees
B-trees
B+ trees
B-tree analysis
Chapter 8: Graphs
Terminology and representations
Graph implementations
Graph traversals
Depth-first search
Breadth-first search
Topological sort
Shortest path problems
Single-source shortest paths
Minimum-cost spanning tree
Prim's algorithm
Kruskal's algorithm
Chapter 9: Programming and Randomized Algorithms
Dynamic programming
The knapsack problem
All pairs shortest paths
Randomized algorithms
Randomized algorithms for finding large values
Skip lists
Probabilistic analysis of skip lists
Chapter 10: Functional Data Structures
Functional data structure
Lazy evaluation
Functional stacks
Functional queues
Fast fully-persistent queues
Slowly-persistent queues and deques
Index.
Notes:
Includes index.
Description based on online resource; title from PDF title page (ebrary, viewed February 28, 2017).
ISBN:
1-78646-416-0
OCLC:
967942048

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account