Book description
Increase your productivity by implementing data structures
About This Book
- Gain a complete understanding of data structures using a simple approach
- Analyze algorithms and learn when you should apply each solution
- Explore the true potential of functional data structures
Who This Book Is For
This book is for those who want to learn data structures and algorithms with PHP for better control over application-solution, efficiency, and optimization.
A basic understanding of PHP data types, control structures, and other basic features is required
What You Will Learn
- Gain a better understanding of PHP arrays as a basic data structure and their hidden power
- Grasp how to analyze algorithms and the Big O Notation
- Implement linked lists, double linked lists, stack, queues, and priority queues using PHP
- Work with sorting, searching, and recursive algorithms
- Make use of greedy, dynamic, and pattern matching algorithms
- Implement tree, heaps, and graph algorithms
- Apply PHP functional data structures and built-in data structures and algorithms
In Detail
PHP has always been the the go-to language for web based application development, but there are materials and resources you can refer to to see how it works. Data structures and algorithms help you to code and execute them effectively, cutting down on processing time significantly.
If you want to explore data structures and algorithms in a practical way with real-life projects, then this book is for you.
The book begins by introducing you to data structures and algorithms and how to solve a problem from beginning to end using them. Once you are well aware of the basics, it covers the core aspects like arrays, listed lists, stacks and queues. It will take you through several methods of finding efficient algorithms and show you which ones you should implement in each scenario. In addition to this, you will explore the possibilities of functional data structures using PHP and go through advanced algorithms and graphs as well as dynamic programming.
By the end, you will be confident enough to tackle both basic and advanced data structures, understand how they work, and know when to use them in your day-to-day work
Style and approach
An easy-to-follow guide full of examples of implementation of data structures and real world examples to solve the problems faced. Each topic is first explained in general terms and then implemented using step by step explanation so that developers can understand each part of the discussion without any problem.
Table of contents
- Preface
- Introduction to Data Structures and Algorithms
-
Understanding PHP Arrays
- Understanding PHP arrays in a better way
- Using an array as flexible storage
- Use of multi-dimensional arrays to represent data structures
- Performance comparison between a regular PHP array and SplFixedArray
- Understanding hash tables
- Implementing struct using a PHP array
- Implementing sets using a PHP array
- Best usage of a PHP array
- PHP array, is it a performance killer?
- Summary
-
Using Linked Lists
- What is a linked list?
- Different types of linked list
- Inserting, deleting, and searching for an item
- Understanding complexity for linked lists
- Making the linked list iterable
- Building circular linked list
- Implementing a doubly linked list in PHP
- Doubly linked list operations
- Complexity for doubly linked lists
- Using PHP SplDoublyLinkedList
- Summary
-
Constructing Stacks and Queues
- Understanding stack
- Implementing a stack using PHP array
- Understanding complexity of stack operations
- Implementing stack using linked list
- Using SplStack class from SPL
- Real life usage of stack
- Understanding queue
- Using SplQueue class from SPL
- Understanding priority queue
- Implementing priority queue using linked list
- Implement a priority queue using SplPriorityQueue
- Implementing a circular queue
- Creating a double - ended queue (deque)
- Summary
-
Applying Recursive Algorithms - Recursion
- Understanding recursion
- Different types of recursions
- Building an N-level category tree using recursion
- Finding files and directories using recursion
- Analyzing recursive algorithms
- Maximum recursion depth in PHP
- Using SPL recursive iterators
- Using the PHP built-in function array_walk_recursive
- Summary
-
Understanding and Implementing Trees
- Tree definition and properties
- Implementing a tree using PHP
- Different types of tree structures
- Understanding a binary tree
- Implementing a binary tree
- Creating a binary tree using a PHP array
- Understanding the binary search tree
- Constructing a binary search tree
- Tree traversal
- Complexity of different tree data structures
- Summary
- Using Sorting Algorithms
- Exploring Search Options
-
Putting Graphs into Action
- Understanding graph properties
- Types of graphs
- Revisiting BFS and DFS for graphs
- Topological sorting using Kahn's algorithm
- Shortest path using the Floyd-Warshall algorithm
- Single source shortest path using Dijkstra's algorithm
- Finding the shortest path using the Bellman-Ford algorithm
- Understanding the minimum spanning tree (MST)
- Implementing Prim's spanning tree algorithm
- Kruskal's algorithm for spanning tree
- Summary
- Understanding and Using Heaps
-
Solving Problems with Advanced Techniques
- Memoization
- Pattern matching algorithms
- Implementing Knuth-Morris-Pratt algorithm
- Greedy algorithms
- Implementing Huffman coding algorithm
- Understanding dynamic programming
- 0 - 1 knapsack
- Finding the longest common subsequence-LCS
- DNA sequencing using dynamic programming
- Backtracking to solve puzzle problem
- Collaborative filtering recommendation system
- Using bloom filters and sparse matrix
- Summary
- PHP Built-In Support for Data Structures and Algorithms
- Functional Data Structures with PHP
Product information
- Title: PHP 7 Data Structures and Algorithms
- Author(s):
- Release date: May 2017
- Publisher(s): Packt Publishing
- ISBN: 9781786463890
You might also like
book
Clean Code in PHP
Practical lessons, examples, and practices from PHP experts on how to take your PHP skills to …
book
Beginning Java Data Structures and Algorithms
Though your application serves its purpose, it might not be a high performer. Learn techniques to …
book
Learning PHP
If you want to get started with PHP, this book is essential. Author David Sklar ( …
book
Domain-Driven Design in PHP
Real examples written in PHP showcasing DDD Architectural Styles, Tactical Design, and Bounded Context Integration About …