Maison >développement back-end >tutoriel php >Notes d'étude PHP : structures de données et algorithmes
Notes d'étude PHP : structures de données et algorithmes
Aperçu :
Les structures de données et les algorithmes sont deux concepts très importants en informatique. Ils sont la clé pour résoudre les problèmes et optimiser les performances du code. Dans la programmation PHP, nous devons souvent utiliser diverses structures de données pour stocker et exploiter les données, et nous devons également utiliser des algorithmes pour implémenter diverses fonctions. Cet article présentera certaines structures de données et algorithmes couramment utilisés et fournira des exemples de code PHP correspondants.
1. Structure linéaire
class Node { public $data; public $next; public function __construct($data = null) { $this->data = $data; $this->next = null; } } class LinkedList { public $head; public function __construct() { $this->head = null; } public function insert($data) { $newNode = new Node($data); if ($this->head === null) { $this->head = $newNode; } else { $currentNode = $this->head; while ($currentNode->next !== null) { $currentNode = $currentNode->next; } $currentNode->next = $newNode; } } public function display() { $currentNode = $this->head; while ($currentNode !== null) { echo $currentNode->data . " "; $currentNode = $currentNode->next; } } } $linkedList = new LinkedList(); $linkedList->insert(1); $linkedList->insert(2); $linkedList->insert(3); $linkedList->display();
2. Structure non linéaire
class Stack { private $arr; public function __construct() { $this->arr = array(); } public function push($data) { array_push($this->arr, $data); } public function pop() { if (!$this->isEmpty()) { return array_pop($this->arr); } } public function isEmpty() { return empty($this->arr); } } $stack = new Stack(); $stack->push(1); $stack->push(2); $stack->push(3); echo $stack->pop(); // 输出 3
class Queue { private $arr; public function __construct() { $this->arr = array(); } public function enqueue($data) { array_push($this->arr, $data); } public function dequeue() { if (!$this->isEmpty()) { return array_shift($this->arr); } } public function isEmpty() { return empty($this->arr); } } $queue = new Queue(); $queue->enqueue(1); $queue->enqueue(2); $queue->enqueue(3); echo $queue->dequeue(); // 输出 1
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!