抽象树结构为对象(只是思路,未完成)
public class Tree {
private int id;
private String name;
private List<Note> notes;
private String show;//比如在jsp页面上显示:<a href="">${name}</a>
......getter and setter;
//整棵树的显示
//定义本身的显示,并循环调用子节点的显示
public void showNote() {
System.out.println(show);
for (Note note : notes) {
note.showNote();
}
}
//整棵树的关闭
public void closeTree() {}
//内部类,子节点
class Note {
private int id;
private String name;
private List<Note> notes;//子节点
private String show;
......getter and setter;
//定义本身的显示,并循环调用子节点的显示
public void showNote() {
System.out.println(show);
for (Note note : notes) {
note.showNote();
}
}
}
}
基本上类结构就是这样,最关键的就是showNote()方法,每个节点负责自身的显示及子节点的显示,这就是递归了。
该类的设计目的是为了能够在jsp页面中方便的显示,用${TreeInstance.show}就能显示整棵树,不适合太多的节点,也不提供动态树,只是负责显示而已(提供给客户端)。
${TreeInstance.show}这种显示很显然还是没实现,想想showNote()方法,就应知道,父节点.show = all子节点.show+
为什么没完成?暂时没时间,手头有更需要的事要做,写个大概请各位评评看,应该不止我一个人会这样想吧?看大家有没有什么反馈,说不定此类是个死胡同。
另外想了想,如果节点都是存于数据库,那么读出所有数据后怎样封装到Tree对象呢?还没深入想。
分享到:
相关推荐
在Java中,我们可以使用类和对象来实现树结构。例如,定义一个Node类,包含数据和指向子节点的引用。为了支持树的各种操作,我们可以编写对应的函数,如insertNode()、deleteNode()、searchNode()等。对于特定类型...
**定义:** 抽象数据类型(ADT)是一种数据结构,它不仅包含了一组数据元素,还包括了用于操作这些数据元素的方法。通过这种方式,ADT能够支持抽象、封装和信息隐藏等概念。在设计时,ADT将数据和操作放在同等重要的...
- 在MySQL中,为树结构建表通常涉及两个主要字段:`id`(主键)和`parent_id`(父节点ID),用于表示层级关系。 - 可能还需要其他字段,如`name`(节点名称)、`level`(层级)等,具体取决于业务需求。 4. **...
JavaScript中的树结构(Tree)是一种数据结构,它模拟了自然界中的树形关系,用于存储具有层级关系的数据。在计算机科学中,树结构被广泛应用,如文件系统、网页DOM结构、数据库索引等场景。理解并掌握JavaScript中...
JavaScript中的树结构是一种数据结构,它模拟了自然界中的树形关系,用于组织和操作数据。在计算机科学中,树是一种非线性数据结构,由节点(也称为顶点)和连接这些节点的边组成。每个节点可以有零个或多个子节点,...
常见的做法是使用类层次结构,在面向对象的语言如C++中尤为常见。例如,可以定义一个基类`ASTNode`,然后为不同的语法构造定义派生类,如`ExpressionNode`、`StatementNode`等。每个派生类可以包含特定的属性和方法...
在计算机科学中,数据结构是组织、存储和处理数据的方式,而抽象数据类型(Abstract Data Type,简称ADT)则是对数据结构的一种高级抽象。它定义了一组操作以及这些操作如何作用于一组数据元素上。ADT关注的是数据的...
本实验是关于数据结构与算法中的树结构,特别是二叉树抽象数据类型(Binary Tree Abstrct Data Type)的学习和实现。实验由云南大学数学与统计学院数学系信息与计算科学专业的学生刘鹏在2017年5月3日完成,指导教师...
2. **面向对象方法**:面向对象编程(Object-Oriented Programming, OOP)以对象为中心,通过封装、继承和多态等机制实现代码的模块化和可重用性。在数据结构中,对象可以表示数据元素和它们之间的关系,使代码更...
例如,树结构能够很好地模拟现实世界中的组织结构,而图则可以用来描述道路网络、社交网络等复杂的关系。 在讨论数据结构时,我们不可避免地会谈到抽象数据类型(ADT)。抽象数据类型是对一组数据的逻辑特性和操作...
树结构,如二叉树和红黑树,广泛应用于排序和搜索操作;图则用于表示复杂的网络关系,如社交网络或道路网络。 接下来,我们转向面向对象编程。在Java中,一切皆为对象。类是对象的模板,它定义了对象的状态(属性)...
KWIC ADT的实现可以采用多种数据结构,如数组、链表或树结构。一种常见的实现方式是使用字典树(Trie)或者平衡二叉搜索树(如AVL树或红黑树),它们能高效地支持插入、查找和删除操作。此外,为了展示关键词的上...
通过泛型`T`,`BaseTree`可以适应任何类型的树形结构,使得子类只需要关注其特有的业务字段,而无需关心树结构的基础操作。 这样的设计允许子类继承`BaseTree`并添加自己的特定字段,从而实现更灵活的树形结构。...
本课程的主要内容包括数据结构的基本概念、术语,数据的逻辑结构、物理结构、线性结构、树结构、图结构等,以及相关的算法和实现。课程还将介绍如何学习数据结构,如何预习、听课、复习和做题等学习策略。 3. 考核...
在C++中,我们可以使用类(class)来定义数据结构,并通过成员函数(方法)来定义对象的行为,这就是数据抽象的基础。通过这种方式,程序员可以创建出一种“信息隐藏”的机制,使得代码更易于理解和维护。 问题求解...
本书标题为《数据结构与算法——面向对象的C++设计》,其内容主要围绕数据结构和算法在C++中的面向对象设计模式展开。本书不仅介绍了数据结构与算法的基本概念,还着重强调了面向对象编程范式(Object-Oriented ...
通过这样的实验,学生不仅能掌握数据结构的基础知识,还能培养解决问题的能力,为将来开发更复杂系统打下坚实基础。同时,这也是理解和运用算法,优化程序性能的关键步骤。在实际工作中,选择合适的数据结构和算法...