当前位置: 首页 > wzjs >正文

做民宿上几家网站好百度热词搜索指数

做民宿上几家网站好,百度热词搜索指数,用jsp源码做网站,深圳市房屋管理局官网树(Tree)结构是除了根结点和叶子结点之外,树中任意一个结点只有一个直接前驱结点(父结点)和多个直接后继结点(孩子结点),根结点没有前驱结点,叶子结点没有后继结点。本问…

        树(Tree)结构是除了根结点和叶子结点之外树中任意一个结点只有一个直接前驱结点(父结点)和多个直接后继结点(孩子结点)根结点没有前驱结点,叶子结点没有后继结点。本问学习树的定义、树的术语、树的表示、树的抽象数据类型、树的存储结构。

1.树的定义

(1)树的基本概念

        树(Tree)是n(n ≥ 0)个结点的有限集T,T 为空时称为空树,T 非空时它满足以下两个约定条件:

①有且仅有一个特定的称为根(Root)的结点。

②其余的结点可分为 m(m ≥ 0)个互不相交的有限子集 T1,T2,…,Tm,其中每个子集本身又是一棵树,并称其为根的子树(SubTree)。

(2)树的递归定义

        树是递归定义的。结点是树的基本单位,若干个结点组成一棵子树,若干棵互不相交的子树组成一棵树。

        树中的每一个结点都是该树中某一棵子树的根。因此,树是由结点组成的、结点之间的具有层次关系的非线性结构。空树、1个结点、n个结点的树如下图所示。

图1 树的定义

2.树的术语

(1)结点、父母、孩子与兄弟结点

        结点是树的基本单位,结点是包含一个数据元素及指向其若干子树的分支。在树的图形表示中为一个圆圈。结点的前驱结点称为其父母(Parent)结点结点的后继结点称为其孩子(Child)结点。一棵树中只有根结点没有父母结点,其他结点有且仅有一个父母结点。拥有同一个父母结点的多个结点之间称为兄弟(Sibling)结点

        结点的祖先(Ancestor)是指其父母结点以及父母的父母结点等,直至根结点。结点的后代(Descendant,也称子孙)是指其所有孩子结点,以及孩子的孩子结点等。

图2 树的层次和高度

        如图2中,结点A是根结点,结点A是结点B、C、D的父母结点,结点E、F是结点B的孩子结点,结点B、C、D之间是兄弟结点,结点A是结点E、F的祖先,结点E、F是结点A的孙子。

(2)度

        结点的度(Degree)是结点所拥有的子树数度为0的结点称为叶子结点(Leaf),又称为终端结点;树中除叶子结点之外的其他结点称为分支结点,又称为非终端结点。树的度是树中各结点的度的最大值

        如图2中,结点A有B、C、D共3个孩子,结点A的度所以度为3;结点B有E、F共2个孩子,结点B的度所以度为2;结点C有G共1个孩子,结点C的度所以度为1;结点D有H、I共2个孩子,结点D的度所以度为2;所以树的度为3。E、F、G、H、I是叶子结点,度为0。

(3)结点层次、树的高度

        结点的层次(Level)反映结点在树中的层次位置,约定根结点的层次为 1,其余结点的层次等于其父母结点的层次加 1。显然,兄弟结点层次相同。树的高度(Height)或深度(Depth)是指树中各结点的层次最大值

如图2中,树有3层,树的高度为3。

4)边、路径

        设树中X结点是Y结点的父母结点,有序对(X,Y)称为连接这两个结点的分支,也称为

        设(X0,X1,…,Xk-1)是树中结点组成的序列,且(Xi,Xi+1)(0≦i≦k-1)都是树中的边,则称该序列为X0到Xk-1的一条路径(Path)。路径长度(Path Length)为路径上的边数

        如图2中,有序对(A,B)是树中的一条边,同样的还有(A,C)、(A,D)、(B,E)、(B,F)、(C,G)...

        (A,B,E)、(A,B,F)...是树中的一条路径。

(5)无序树、有序树

        在树的定义中,结点的子树T0,T1,T2,…,Tm-1之间没有次序,可以交换位置,称为无序树

        如果结点的子树T0,Tl,T2,…,Tm-1从左到右是有次序的,不能交换位置,则称为有序树

(6)森林

        森林(Forest)是m(m≥0)棵互不相交的树的集合。对树中的每一个结点而言,其子树的集合即为森林,可以通过森林与树相互递归的定义来描述树。

图3 森林

3.树的表示

(1)图示法

        结点用圆圈表示,结点名字写在圆圈旁或圆圈内,子树与其根之间用无向边来连接,如图4是图示法表示的树。

图4 图示法

(2)嵌套集合表示法

用集合的包含关系描述树结构,可以使用如图5是树的嵌套集合表示。

图5 嵌套集合表示法

(3)凹入表示法

        类似于书的目录,使用线段的伸缩描述树结构。图6是树的凹入表示法。

图6 凹入表示法

4.树的抽象数据类型

(1)树的接口TTree

public interface TTree<T> {public boolean isEmpty();//判断是否空树public int count();//返回树的结点个数public int height();//返回树的高度//返回p结点的孩子结点个数public int childCount(TreeNode<T>p);publicvoid preOrder();//先序遍历树publicvoid postOrder();//后序遍历树public void levelOrder();//层次遍历树//返回p结点的第i(i>=0)个孩子结点public TreeNode<T> getChild(TreeNode<T>p,inti);//返回p结点的最后一个孩子结点public TreeNode<T> getLastChild(TreeNode<T>p);//返回p结点的最后一个兄弟结点public TreeNode<T> getLastSibling(TreeNode<T>p);//返回node的父结点public TreeNode<T> getParent(TreeNode<T>node);public TreeNode<T> search(T x);//查找并返回元素为x的结点public void insertRoot(T x); //插入元素x作为根结点//插入x元素作为p结点的第i个孩子public TreeNode<T> insertChild(TreeNode<T>p,T x,inti);//插入最后一个孩子结点public TreeNode<T> insertLastChild(TreeNode<T>p,T x);//插入最后一个兄弟结点public TreeNode<T> insertLastSibling(TreeNode<T>p,T x);//删除以P的第i个孩子为根的子树publicvoid removeChild(TreeNode<T>p,inti);publicvoid removeAll();//删除树}

(2)树的结点类

public class TreeNode<T> {public T data;          //数据域,存储数据元素public TreeNode<T>child;  //孩子结点public TreeNode<T>sibling; //兄弟结点public TreeNode(T data,TreeNode<T>child,TreeNode<T>sibling) {this.data=data;this.child=child;this.sibling=sibling;}public TreeNode(T data) {this(data,null,null);  //构造指定值的叶子结点}public TreeNode() {this(null,null,null);  //空树}}

5.树的存储结构

(1)双亲表示法

        假设以一组连续空间存储树的结点,同时在每个结点中,附设一个指示器指向其双亲结点到链表中的位置。也就是说每个结点除了知道自己之外还需要知道它的双亲在哪里。

图7 双亲表示法的结点结构

        双亲表示法如图8所示,其中data为结点本身,parent为其父结点(双亲)在链表中的位置(下标)。

图8 双亲表示法

        由于根结点是没有双亲的,约定根结点的位置域为-1

        根据结点的parent指针很容易找到它的双亲结点。所用时间复杂度为O(1),当parent为-1时,表示找到了树的根结点。

        缺点:如果要找到孩子结点,需要遍历整个结构才行

(2)孩子表示法

        把每个结点的孩子结点排列起来,以单链表作为存储结构,则n个结点有n个孩子链表,如果是叶子结点则此单链表为空。然后n个头指针又组成一个线性表,采用顺序存储结构,存放进一个一维数组中。

图9 孩子表示法

(3)孩子兄弟表示法

        孩子兄弟表示法:任意一棵树,它的结点的第一个孩子如果存在就是唯一的,它的右兄弟存在也是唯一的。因此,设置两个指针,分别指向该结点的第一个孩子和此结点的右兄弟。

图10 孩子兄弟表示法的结点结构

图11 孩子兄弟表示法

http://www.dtcms.com/wzjs/440617.html

相关文章:

  • 个人怎么做优惠券网站天津百度推广开户
  • icp备案 网站服务内容网站服务费一年多少钱
  • 电子商务网站建设项目互动营销案例分析
  • 私人网站怎么注册网络营销的平台有哪些
  • 威宁住房和城乡建设局网站人工智能培训机构哪个好
  • 长沙网站设计多少钱一个月seo网站优化培训公司
  • 主机怎么做网站服务器青海百度关键词seo
  • app网站建设手机APP软件开发发文章用哪个平台比较好
  • 西安做酒店用品的网站宁波seo推广费用
  • wordpress 批量替换网站优化推广是什么
  • 做购物网站要多少钱十大管理培训课程
  • 模板网站建设公司seo百度刷排名
  • 济南做网站哪好找客源免费用哪个软件好
  • 网站建设三剑客关键词seo资源
  • 基于html5设计的网站建设网站外链工具
  • 有好点的网站建设公司吗广州今日新闻最新消息
  • 专注做蔬菜的网站湖南靠谱关键词优化
  • 做家乡网站刷百度指数
  • 淘宝网站建设方式seo怎么才能做好
  • Java怎么自己做网站软文营销方法有哪些
  • 阿里巴巴怎么做不花钱的网站查域名网站
  • 网络科技公司起名大全免费搜索引擎优化seo
  • 做网站建设的工资高吗株洲seo优化公司
  • 网站建设运行维护合同长沙专业seo优化推荐
  • 海报模板网站有哪些各平台推广费用
  • 佛山哪里有网站开发网站seo优化是什么
  • 做网站需要几个岗位开发一款app软件需要多少钱
  • 免费商标查询官网山东seo费用多少
  • 高端网站建设css3动画响应式模板东莞做好网络推广
  • 个体户可以注册网站建设服务交易平台官网