0 0

请问如何设计多级分类的数据结构5

要求可以无限级分类,要求考虑使用Lucene时的搜索性能。

使用时,查询某个类别的资料时, 不仅列出这个类别的,同时还要列出它的子类别的资料,还有子类的子类。。。。。
2008年12月24日 10:08

3个答案 按时间排序 按投票排序

0 0

map里放tree?

2009年1月08日 09:45
0 0

1 最基本的实现
  用parent_id实现多级(添加新类别时要求父类别id,可设置一个默认的顶级类别)
  用递归实现查询类别以及子类别以及孙类别等等(
    每个具体类别都对应一条sql
    或者先递归出这个类别树的所有类别id,再用 in子句搜索 得到结果后人工处理下)
2 增强性能的实现(搜索引擎式):
  建立类别索引(一个bit串 每个bit对应一个类别 每条资料都保持一个索引(此资料的类别,以及此类别的祖先类别bit均为1,其它为0)) 这样搜索就变成了对索引表的布尔运算(添加新类别时 需要更新所有索引,添加新资料时 需要添加此资料对应的索引)

2008年12月30日 11:32
0 0

在本自的分类表中加一个字段 parent_id(integer)
这样可以吗?  
能满足你的要求吗?

2008年12月25日 09:05

相关推荐

    多级目录的数据库设计

    在设计多级目录数据库时,有几种常见的方法: 1. **自连接表法**:创建一个单一的“目录”表,该表包含目录ID、目录名、父目录ID等字段。父目录ID指向同一表中的另一个目录,形成自连接。通过递归查询可以获取整个...

    仿京东分类多级数据实现

    1. 数据结构与模型设计:为了模拟京东的多级分类,首先需要一个合适的数据结构来存储这些分类信息。通常,这会涉及到树形结构,如二叉树或多叉树。在Python中,可以使用类来创建一个表示分类的节点,包含ID、名称、...

    android 多级树结构 treelistview

    总之,实现Android的多级树结构`TreelistView`需要对数据结构有深入的理解,并能熟练运用自定义适配器和递归算法。`Demo_TreeListView-master`项目是一个很好的学习资源,可以帮助开发者快速掌握这一技巧。在实际...

    多级菜单设计

    本文将深入探讨多级菜单设计的基本思想、硬件环境需求、菜单结构规划以及软件设计方法,以帮助开发者构建更加高效和用户友好的界面。 #### 硬件环境:液晶显示模块的选择与配置 多级菜单的实现首先依赖于合适的...

    漂亮的无限级分类 | 无限级分类 | 无限级管理 | 无限级样式 |多级分类

    例如,在“JohnTree.sln”这个解决方案中,可能包含了处理无限级分类的C#代码,用于构建和操作这样的数据结构。 "JohnTree.Library"可能是项目中的一个库,封装了无限级分类的业务逻辑和数据访问层,提供了方便的...

    jQuery商城多级分类导航菜单

    "jQuery商城多级分类导航菜单"是一个专为电商网站设计的交互式菜单系统,它利用jQuery库的强大功能,实现了方便用户操作的多级分类展示。这个系统可以帮助用户轻松地在复杂的商品分类中找到他们想要的商品,从而提高...

    个人制作的ASP多级分类例子

    在代码中,我们可以使用循环和条件判断来遍历数据库中的分类数据,构建出层次结构。 当用户尝试添加或修改栏目时,系统可能通过表单提交的方式获取用户输入,然后更新到数据库中。同时,为了实现预览功能,ASP代码...

    仿淘宝产品发布类别多级分类列表显示

    对于多级分类,可以使用递归方法生成树形结构,并利用数据驱动的方式更新视图。 4. AJAX:当用户选择某一分类时,可以通过异步请求获取该分类下的子分类,实现动态加载,减少页面加载时间。 在提供的文件中,`array...

    swift-多级分类菜单多级列表仿口碑分类菜单电商筛选菜单

    综上所述,创建一个多级分类菜单涉及到数据结构设计、视图定制、数据源管理和用户交互处理等多个方面。通过Swift的灵活性和强大的面向对象特性,我们可以构建出高效、可扩展的菜单系统,为用户提供优质的筛选体验。...

    C# .NET 2.0 多级分类中小企业建站系统

    1. **多级分类**:系统中的多级分类设计是网站内容管理的关键。它允许用户按照层次结构对信息进行分类,如产品、新闻、服务等,便于用户浏览和搜索。这种结构化的方法使得网站内容组织有序,增强了用户体验,同时也...

    仿百度文库_多级联动分类选择器

    - 设计数据结构来存储多级分类信息,例如使用JSON对象。 - 使用JavaScript将数据绑定到DOM元素上,创建可交互的下拉菜单或列表。 - 添加事件监听器,当用户在任一级别作出选择时,触发相应处理函数。 - 处理函数根据...

    多级分类右边遮罩

    在IT行业中,多级分类是一种常见的数据组织方式,特别是在网站导航、电商商品分类或文件管理系统中。这种分类方法能够帮助用户高效地浏览和查找大量信息。"多级分类右边遮罩"是一个特定的设计概念,主要涉及到网页...

    论文研究-音频事件检测中的多级分类研究 .pdf

    多级分类器,顾名思义,是一种具有多层次结构的分类器。它通常将一个复杂的分类问题分解为几个较为简单的子问题,每个子问题对应一层分类器,从而逐步提高识别的精度。例如,在研究中,可以根据音频事件的不同特征集...

    菜单树形结构,支持三级、多级树形结构代码

    首先,树形结构的基本概念是通过节点(Node)和边(Edge)来表示层次关系的数据结构。在菜单树形结构中,每个节点通常代表一个菜单项,而边则表示父节点与子节点之间的层级关系。这种结构有助于用户直观地理解和操作...

    数据结构课程设计,图书馆管理系统

    在本项目中,"数据结构课程设计,图书馆管理系统" 是一个使用C语言编写的软件,主要目的是为了让学生在实践中学习和应用数据结构的知识。这样的课程设计对于计算机科学专业的学生来说,是一个很好的机会,能帮助他们...

    无限级分类/多级分类【左右值方式实现】

    因此,在设计和实现无限级分类时,需要权衡性能和复杂性,合理选择合适的数据结构和算法。 在实际应用中,除了左右值法,还有其他实现无限级分类的方法,如路径枚举法、预排序遍历树(PreOrder Traversal Tree, ...

    asp.net多级分类和操作源码

    在多级分类的场景中,ASP.NET 提供了强大的数据绑定和控件功能,使得实现复杂的层级结构变得相对简单。 在“asp.net多级分类和操作源码”中,我们可以推测这个项目主要实现了以下功能: 1. **多级分类**:在数据库...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    2.5 结构化程序设计方法 31 3 数据类型、运算符与表达式 3.1 C语言的数据类型 32 3.2 常量与变量 33 23.2.1 常量和符号常量 33 3.2.2 变量 33 3.3 整型数据 34 3.3.1 整型常量的表示方法 34 3.3.2 整型变量 35 3.4 ...

    Android多级树形选择列表

    总的来说,实现Android多级树形选择列表需要对数据结构有清晰的理解,熟练掌握UI组件的使用,以及处理用户交互的能力。开源项目是很好的学习资源,通过研究他人的代码,可以快速提升自己的开发技能。在实际应用中,...

    使用PopupWindow + 2个ListView实现仿 美团/淘宝/百度糯米 多级分类菜单效果

    2. **数据结构设计**:定义一个数据结构,如`Category`类,包含一级分类名和对应的二级分类列表。然后,创建一个包含多个`Category`对象的列表,作为一级分类的数据源。 3. **初始化PopupWindow**:在Activity或...

Global site tag (gtag.js) - Google Analytics