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
This book is for those who want to learn data structures and algorithms with PHP for better control over applicationsolution, 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
 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 builtin data structures and algorithms
PHP has always been the the goto 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 reallife 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 daytoday work
Style and approachAn easytofollow 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.
Publisher resources
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 multidimensional 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 Nlevel 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 builtin 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 FloydWarshall algorithm
 Single source shortest path using Dijkstra's algorithm
 Finding the shortest path using the BellmanFord 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 KnuthMorrisPratt algorithm
 Greedy algorithms
 Implementing Huffman coding algorithm
 Understanding dynamic programming
 0  1 knapsack
 Finding the longest common subsequenceLCS
 DNA sequencing using dynamic programming
 Backtracking to solve puzzle problem
 Collaborative filtering recommendation system
 Using bloom filters and sparse matrix
 Summary
 PHP BuiltIn 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
video
Python Fundamentals
51+ hours of video instruction. Overview The professional programmer’s Deitel® video guide to Python development with …
book
40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …
book
Mastering PHP 7
Effective, readable, and robust codes in PHP About This Book Leverage the newest tools available in …
book
Head First Design Patterns, 2nd Edition
You know you don’t want to reinvent the wheel, so you look to design patterns—the lessons …