首页 > php教程 > php手册 > 正文

php:树形结构的算法

WBOY
发布: 2016-06-13 10:59:50
原创
1193 人浏览过

  产品分类,多级的树状结构的论坛,邮件列表等许多地方我们都会遇到这样的问题:如何存储多级结构的数据?

在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:猪肉


来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!