<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="[ASP]无限级分类的简单算法实现及代码重点讲解" id="card1">
<p> 游客</p><p>
标题:[ASP]无限级分类的简单算法实现及代码重点讲解<br/>
正文:<br/>
一、前言       很多情况下二级分类已经不能满足需要了，而网上可用的多级分类的例子实在是不好找，故有此文。大家可以先看这个，它介绍了一种超级好的算法，反正我是看不大懂呀。二、我们要解决的问题：1、 分类算法常常表现为树的表示和遍历问题。那么，请问：如果用数据库中的一个Table来表达树型分类，应该有几个字段？2、 如何快速地从这个Table恢复出一棵树；3、 如何判断某个分类是否是另一个分类的子类；4、 如何查找某个分类的所有产品；5、 如何生成分类所在的路径。6、 如何新增分类；三、递归实现的优点与缺点       该怎么实现多级分类呢？       估计首先想到的都是递归，实现简单，在指定节点（就是分类，下同）下添加、修改、删除节点都不是问题，而且节点移动实现起来也不是很难，只是要注意移动目的父节点不能是当前节点的父节节点（等于没移动），也不能是当前节点的子节点（类似于window文件夹，一个文件夹是不能移动到自己的字文件夹里的）。       但是最愁人的是搜索指定节点下的东西，怎么办？也就是上面的问题3。记住，这是要包括所有子节点的，难道还去递归吗？四、介绍下我的简单算法（是我所用的，不是我发明的）       以常见的商品系统为例。       4.1 表结构              [1]分类表，T_Sort，表结构如图一所示。其中sortPath保存的是节点路径，这是个重点。              [2]商品表，T_Product，表结构如图二所示。图一 图二 4.2 算法简要说明              [1]parentID保存的自然是节点的父节点，如果一个节点的parentID=0时，认为它是一级分类。      <br/><a href="http://www.xmhjfb.com/wap.asp?mode=WAP&amp;act=View&amp;id=27&amp;Page=1">[&lt;&lt;]</a><a href="http://www.xmhjfb.com/wap.asp?mode=WAP&amp;act=View&amp;id=27&amp;Page=1">[[1]]</a><a href="http://www.xmhjfb.com/wap.asp?mode=WAP&amp;act=View&amp;id=27&amp;Page=2">[2]</a><a href="http://www.xmhjfb.com/wap.asp?mode=WAP&amp;act=View&amp;id=27&amp;Page=3">[3]</a><a href="http://www.xmhjfb.com/wap.asp?mode=WAP&amp;act=View&amp;id=27&amp;Page=9">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=27">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=27">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://www.xmhjfb.com/wap.asp">首页</a>
</p>
</card>
</wml>