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.
- 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.