网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > 计算机 > php语言

php:树形结构的算法实例

栏目: php语言 / 发布于: / 人气:1.98W

导语:多级的树状结构的月经越来越重要,已经落实到生活中了,下面的是本站小编为大家搜集的php:树形结构的算法,供大家参考。

php:树形结构的算法实例

产品分类,多级的树状结构的论坛,邮件列表等许多地方我们都会遇到这样的问题:如何存储多级结构的数据?在PHP的应用中,提供后台数据存储的通常是关系型数据库,它能够保存大量的数据,提供高效的数据检索和更新服务。然而关系型数据的基本形式是纵横交错的表,是一个平面的结构,如果要将多级树状结构存储在关系型数据库里就需要进行合理的翻译工作。接下来我会将自己的所见所闻和一些实用的经验和大家探讨一下。层级结构的数据保存在平面的数据库中基本上有两种常用设计方法:毗邻目录模式(adjacency list model)预排序遍历树算法(modified preorder tree traversal algorithm)我不是计算机专业的,也没有学过什么数据结构的`东西,所以这两个名字都是我自己按照字面的意思翻的,如果说错了还请多多指教。  这两个东西听着好像很吓人,其实非常容易理解。这里我用一个简单食品目录作为我们的示例数据。

  我们的数据结构是这样的:

Food

|

|---Fruit

| |

| |---Red

| | |

| | |--Cherry

| |

| |---Yellow

| |

| |--Banana

|

|---Meat

|

|--Beef

|

|--Pork

  为了照顾那些英文一塌糊涂的PHP爱好

Food:食物

Fruit:水果

Red:红色

Cherry:樱桃

Yellow:黄色

Banana:香蕉

Meat:肉类

Beef:牛肉

Pork:猪肉