`
letitbe
  • 浏览: 239366 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

树的一种特殊设计(转)

阅读更多
不考虑极端的情况,通常组织机构有个10几个层次就是顶天了。 所有,可以用一个字段存储下所有祖先的信息,例如varchar2(300),其中可以用 '.'隔开。 我的设想是这样的:
id name Nodecode
1 a 1
2 b 1.2
3 c 1.3
4 d 1.2.4
5 e 1.2.5
6 f 1.2.5.6

从6可以直接看到它的上级脉络是6.5.2.1 。当然这里考虑的是级别不多的。但是除非你是很极端的应用,我想还是可以满足的。在插入和更新的时候注意维护nodecode即可。
如果要照到祖先,则只要解析一下nodecode即可。
同理如果要照后代,例如2的后代,则马上可以通过Like的方式获得.

另一篇:
因为TreeKey是个字符串,而1.10会排到1.2, 1.3之前,很显然,这不是我们要的结果。要解决其实也很简单,在编号前面补0,比如,1.10就写成0001.0010,1.2就写成0001.0002,这样排序就不会有问题了。

这让我想起很早前看的微软的一个有关树的软件代码,就看到他们是以000x.000x这种方式进行处理的,当时我还感觉他们怎么这么麻烦,现在想来,才发现是自己无知了,呵呵。


分享到:
评论

相关推荐

    树与二叉树的转换

    二叉树是树的一种特殊形式,每个节点最多只有两个子节点,通常分为左子节点和右子节点。树与二叉树之间的转换是一个重要的概念,尤其是在数据结构和算法的学习中。下面我们将详细探讨这个主题。 一、树到二叉树的...

    一种高效二叉查找树---红黑树

    红黑树是一种特殊的二叉查找树,通过对树的颜色编码来保持树的平衡,从而确保任何操作的时间复杂度都在对数级别。具体来说,红黑树满足以下条件: 1. **节点颜色**:每个节点要么是红色的,要么是黑色的。这需要在...

    与森林(树)的相互转换难点树和二叉树应用的算法设计应用.pdf

    二叉树是树的一种特殊形式,每个结点至多只有两棵子树,子树有左右之分。二叉树的定义、性质和应用都是树的重要内容。 二叉树的性质: 二叉树有多种性质,如满二叉树、完全二叉树、赫夫曼树等。这些性质都是二叉树...

    哈夫曼树 课程设计 实验报告

    哈夫曼树,也称为最优二叉树,是一种特殊的二叉树,它的特点是所有叶子节点到根节点的路径上,权值之和(路径长度)最小。这里的权值通常代表字符出现的频率或概率。在数据压缩中,哈夫曼编码是基于哈夫曼树的一种...

    子集树问题c++试设计一个用回溯法搜索子集空间树的函数。

    子集空间树是一种特殊的树结构,它表示了所有可能的子集。在装载问题中,每个节点代表一个装载方案,根节点表示空集合,叶子节点表示所有可能的装载组合。回溯法则是在这棵树中进行深度优先搜索的过程。 #### 四、...

    数据结构课程设计_哈夫曼树

    哈夫曼树是一种特殊的二叉树,常用于数据压缩和编码,通过构建最小带权路径长度的二叉树,使得频率高的字符编码长度较短,从而提高数据传输效率。 课程设计的主要任务包括: 1. 建立哈夫曼树:从用户输入的字符集和...

    数据结构二叉平衡树课程设计

    二叉平衡树是一种特殊类型的二叉树,它在保持二叉搜索树特性的同时,通过特定的结构调整策略确保了树的高度平衡。这样的平衡状态使得在树中进行查找、插入和删除等操作的时间复杂度都能保持在对数级别,极大地提高了...

    数据结构课程设计之树与二叉树的转换--大学毕业设计论文.doc

    树是一种非线性结构,广泛应用于计算机科学与技术领域,而二叉树是树结构中的一种特殊形式。在数据结构课程设计中,树与二叉树的转换是一个重要的研究方向。本文将对树与二叉树的转换进行详细的设计和分析。 一、树...

    数据结构(二叉平衡排序树)课程设计报告

    在这个课程设计报告中,我们将聚焦于一种特殊类型的二叉树——二叉平衡排序树,它在实际应用中展现出优秀的性能特点。 二叉平衡排序树,顾名思义,是一种保持平衡的二叉搜索树。传统的二叉搜索树在插入和删除操作后...

    一种非线性结构 树

    接下来,章节重点讲述了二叉树,这是一种特殊的树,每个节点最多有两个子节点,分别称为左子树和右子树。二叉树有五种基本形态:空二叉树、只有一个根节点的二叉树、右子树为空、左子树为空以及左右子树都不为空的...

    数据结构课程设计树的应用树和二叉树的转换-毕业论文.doc

    二叉树是一种特殊的树结构,每个节点最多有两个子节点。二叉树的抽象数据类型定义包括数据对象、数据关系和基本操作。数据对象 D 是具有相同特性的数据元素的集合。数据关系 R 定义了二叉树的逻辑结构,包括二叉树的...

    二叉排序树--课程设计

    二叉排序树,又称二叉查找树或二叉有序树,是一种特殊的二叉树数据结构,它的特性使得在树中的搜索、插入和删除操作具有很高的效率。在这个课程设计中,你将深入理解并实践二叉排序树的核心概念。 首先,我们要明白...

    数据结构课程设计\二叉平衡排序树

    二叉平衡排序树是一种特殊的二叉树数据结构,它的主要特点是保持了树的平衡,使得在插入、删除和查找操作中的平均时间复杂度为O(log n)。在数据结构课程设计中,二叉平衡排序树通常是一个重要的实践课题,旨在让学生...

    B_树 AVL树等的课程设计报告,源码和报告书

    其次,AVL树(Adelson-Velsky and Landis树)是一种特殊的二叉搜索树,要求任意节点的两个子树的高度差不超过1,确保了快速的查找性能。AVL树的平衡调整通过旋转操作(左旋和右旋)来完成,确保树在插入和删除操作后...

    算法-树形结构- 树与二叉树- 无根树转有根树.rar

    在计算机科学领域,树形结构是一种非常重要的数据结构,它被广泛应用于算法设计、数据库管理、编译器构造等多个方面。树与二叉树是树形结构中的基本概念,而将无根树转换为有根树是处理这类数据结构时常常会遇到的...

    行业文档-设计装置-一种节水保温树盘.zip

    工作原理方面,节水保温树盘可能采用了一种特殊的保水层和保温层的结构设计,有效减少水分蒸发,并通过保温层维持根系周围土壤的适宜温度。这样的设计可以确保树木在关键时刻获得充足的水分和适宜的生长温度,从而...

    课程设计——二叉查找树

    二叉查找树(Binary Search Tree,BST)是一种特殊的数据结构,属于树形数据结构的一种,它具有以下特性:每个节点包含一个键(key)、一个关联的值、一个指向左子节点的引用和一个指向右子节点的引用。在二叉查找树...

Global site tag (gtag.js) - Google Analytics