亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【九月打卡】第十一天 樹

標簽:
算法

第一模块:课程介绍

课程名称:JavaScript版数据结构与算法 轻松解决前端算法面试
课程章节:8-1 树简介
主讲老师:lewis

第二模块:课程内容

了解前端中的树,熟悉JS中树的使用

第三模块:课程收获

1. 树是什么?

  • 在计算机科学中,树是一种分层数据的抽象模型
  • 前端工作中常见的树包括:DOM,树,级联选择,树形控件

DOM树:

图片描述

级联选择:

图片描述

树形控件

图片描述

2 在JS中树

在js中没有树,但是可以用Object和Array来构建树

示例代码:

const treeData: DataNode[] = [
  {
    title: 'parent 1',
    key: '0-0',
    children: [
      {
        title: 'parent 1-0',
        key: '0-0-0',
        disabled: true,
        children: [
          {
            title: 'leaf',
            key: '0-0-0-0',
            disableCheckbox: true,
          },
          {
            title: 'leaf',
            key: '0-0-0-1',
          },
        ],
      },
      {
        title: 'parent 1-1',
        key: '0-0-1',
        children: [{ title: <span style={{ color: '#1890ff' }}>sss</span>, key: '0-0-1-0' }],
      },
    ],
  },
];

像这种分层结构的数据,就是一棵树。

树的常用操作:深度/广度优先遍历、先中后序遍历

树的定义

树是n(n>=0)个结点的有限集。当n = 0时,称为空树。在任意一棵非空树中应满足

  1. 有且仅有一个特定的称为根的结点。
  2. 当n>1时,其余节点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每个集合本身又是一棵树,并且称为根的子树。

下图就是一个简单的树

图片描述

通过树的定义,可以发现,树采用了递归的方式。

下面说下几个概念:

节点

和链表类似,树存储结构中也将存储的各个元素称为 “节点”。例如在图 中,元素 A 就是一个节点。

度数

节点拥有的子树书数目称为节点的度。

图片描述

节点关系
  • 孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;
  • 双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点
  • 兄弟节点:具有相同父节点的节点互称为兄弟节点
节点层次

从根开始定义起,根为第一层,根的孩子为第二层,以此类推

像上面的图

A:第一层
B:第二层
C:第三层
D:第四层

树的深度

树中结点的最大层次,如上图深度为4

第四模块:课程记录

图片描述

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消