PHP樹演算法

2021-07-08 09:56:40 字數 903 閱讀 5625

/**

* 建立父節點樹形陣列

* 引數

* $ar 陣列,鄰接列表方式組織的資料

* $id 陣列中作為主鍵的下標或關聯鍵名

* $pid 陣列中作為父鍵的下標或關聯鍵名

* 返回 多維陣列

**/function

find_parent

($ar, $id='id', $pid='pid')

} return

$t;}

/** * 建立子節點樹形陣列

* 引數

* $ar 陣列,鄰接列表方式組織的資料

* $id 陣列中作為主鍵的下標或關聯鍵名

* $pid 陣列中作為父鍵的下標或關聯鍵名

* 返回 多維陣列

**/function

find_child

($ar, $id='id', $pid='pid')

} return

$t;}

$data = array(

array('id'=>1, 'parent'=>0, 'name'=>'祖父'),

array('id'=>2, 'parent'=>1, 'name'=>'父親'),

array('id'=>3, 'parent'=>1, 'name'=>'叔伯'),

array('id'=>4, 'parent'=>2, 'name'=>'自己'),

array('id'=>5, 'parent'=>4, 'name'=>'兒子'),

);$p = find_parent($data, 'id', 'parent');

$c = find_child($data, 'id', 'parent');

print_r ($c);

php 二叉樹演算法小解

前段時間出去面試,被問到如果從乙個陣列中快速找到某乙個元素在該陣列的位置。我當時大概想到他是想問我演算法,當時不是很清楚怎麼寫,就用說切割字串,用字串函式去找,當時想的是字串函式查詢起來挺方便的。面試官直接說。我給的陣列很小,如果很大怎麼辦。肯定不能用你這種方法,他說用二叉樹,面試完之後自己回去查了...

PHP構造二叉樹演算法示例

樹 tree 在資料結構還是很重要的,這裡表示二叉樹用括號表示法表示。先寫乙個二叉樹節點類 二叉樹節點 class btnode 然後構造二叉樹 程式設計客棧 function createbtnode root,string str else break 這裡寫上乙個列印二叉樹的函式 中序遍歷 f...

PHP演算法 遞迴演算法

遞迴函式在日常專案中有很廣泛的用途,例如寫樹結構 遍歷目錄等,今天我們用乙個簡單的遞迴demo來求斐波那契數列,並用 釋它執行的過程。0 1 1 2 3 5 8 13 21 34 function demo n elseif n 1 else return number echo demo 4 輸出...