PHP 学習ノート: データ構造とアルゴリズム
概要:
データ構造とアルゴリズムは、コンピューター サイエンスにおける 2 つの非常に重要な概念であり、問題を解決するために使用されます。 . コードのパフォーマンスを最適化するための鍵となります。 PHP プログラミングでは、データを保存および操作するためにさまざまなデータ構造を使用する必要があり、さまざまな機能を実装するためにアルゴリズムも使用する必要があります。この記事では、一般的に使用されるデータ構造とアルゴリズムをいくつか紹介し、対応する PHP コード例を示します。
1. 線形構造
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. 非線形構造
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
3. 一般的に使用されるアルゴリズム
上記は、いくつかの一般的なデータ構造とアルゴリズムのサンプル コードです。これらのコードを学習して理解することで、よりよく習得できます。PHP データ構造とアルゴリズム。もちろん、学習して探索できるデータ構造やアルゴリズムは他にもたくさんありますので、読者の皆さんが学習と練習を続けて、プログラミングの分野での能力を継続的に向上できることを願っています。
以上がPHP 学習ノート: データ構造とアルゴリズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。