这种树状结构图一般用什么软件快速制作?
直接用可以画这种结构树状图的软件吧。
比如这种:(这种软件虽然有收费的,但是也可以免费用,不用担心)然后直接导出在Word就可以了导出到Word之后还可以继续修改编辑
听说思维导图可以提高孩子的记忆力和想象能力,对孩子做笔记也是...
在国外小学教育里就已经用思维导图了,国内有些学校也已经引用了思维导图教学,所以小孩子学是没毛病的。
然后,以下为复制的MindMaster文章内容,可以看看。
里面还有很多类似的内容,文章网址:网页链接
如何用递归写一个简单的树形结构示例
展开全部模式要点 组成部分Component : 是组合中的所有对象的统一接口;定义了特定情况下,类应当实现的货缺省的行为;Component 声明一个接口用于访问和管理 Component 的子组件;在递归结构中定义一个接口,用于访问一个父部件,并符合条件的类中实现它,当然这个是可选的。
Leaf:在组合中表示叶节点对象,顾名思义,叶节点没有子节点。
Composite:定义有子部件的那些部件的行为,同时存储子部件,实现 Component 中与子部件有关的接口。
Client:通过Component接口,操纵组合部件的对象。
协作原理用户使用Component类接口与组合结构中的对象进行交互。
如果接收者是一个叶节点,则直接处理请求。
如果接收者是Composite, 它通常将请求发送给它的子部件, 在转发请求之前与/或之后可能执行一些辅助操作。
实例分析在中文中,一句话是由词语组成的,而词语又由字组成;在英文中,句子由单词组成,而单词又由一个个字母组成。
每个对象都可定义的它之前的或之后的内容。
比如一个中文句子总是以句号结尾,一个英文单词之前通常是有空格的。
这种结构可以形成了递归嵌套的结构,句子是父容器,单词是子容器,字母是叶节点。
CharacterComposite 是一个抽象类,定义了所有容器类或叶节点的接口,容器应当实现的功能有:获取子组件、对子组件进行计数、定义组件的格式化输出规则。
Sentence(句子) 和 Word (单词)都属于容器,而 Character (字母)则属于叶节点,因为字母中无法再添加子组件了,它是层次结构中的最末端。
/*** 所有容器的抽象父类*/public abstract class CharacterComposite { private List children = new ArrayList(); public void add(CharacterComposite character) { children.add(character); } public int count() { return this.children.size(); } public void printBefore() { } public void printAfter() { } public void print() { printBefore(); for (CharacterComposite item : children) { item.print(); } printAfter(); }}EnglishWord 组件前应当输出一个空格,EnglishSentence 组件后应当输出一个“.”,ChineseSentence 组件后应当输出一个“。
”等。
/*** 英文句子*/public class EnglishSentence extends CharacterComposite { public EnglishSentence(List words) { for (EnglishWord word : words) { add(word); } } @Override public void printAfter() { System.out.println("."); }}/*** 英文单词*/public class EnglishWord extends CharacterComposite { public EnglishWord(List characters) { for (Character c : characters) { add(c); } } @Override public void printBefore() { System.out.print(" "); }}Word 作为 Sentence 的子容器,Character 作为 Word 的子组件,属于叶节点。
/*** 字母*/public class Character extends CharacterComposite { private char c; public Character(char c) { this.c = c; } @Override public void print() { System.out.print(c); }}Writer 为句子生成器,各个组件及子组件均由它负责填充,最终形成一个完成的结构。
/*** 语句生成器*/public class Writer { public CharacterComposite sentenceByChinese() { List words = new ArrayList(); words.add(new ChineseWord(Arrays.asList(new Character('我')))); words.add(new ChineseWord(Arrays.asList(new Character('是')))); words.add(new ChineseWord(Arrays.asList(new Character('来'), new Character('自')))); words.add(new ChineseWord(Arrays.asList(new Character('北'), new Character('京')))); words.add(new ChineseWord(Arrays.asList(new Character('的')))); words.add(new ChineseWord(Arrays.asList(new Character('小'), new Character('明')))); return new ChineseSentence(words); } public CharacterComposite sentenceByEnglish() { List words = new ArrayList(); words.add(new EnglishWord(Arrays.asList(new Character('I')))); words.add(new EnglishWord(Arrays.asList(new Character('a'), new Character('m')))); words.add(new EnglishWord(Arrays.asList(new Character('a')))); words.add(new EnglishWord(Arrays.asList(new Character('s'), new Character('t'), new Character('u'), new Character('d'), new Character('e'), new Character('n'), new Character('t')))); words.add(new EnglishWord(Arrays.asList(new Character('f'), new Character('r'), new Character('o'), new Character('m')))); words.add(new EnglishWord(Arrays.asList(new Character('L'), new Character('o'), new Character('n'), new Character('d'), new Character('o'), new Character('n')))); return new EnglishSentence(words); }}效果Composite 模式定义了基本对象和组合对象的基本层次结构,基本对象可以组合形成更复杂的对象,这个对象还可以再次进行组合,依次类推,可以实现...
苍老师太