树(Tree)
简介树是计算机中非常重要的一种数据结构,使用树这种数据结构可以描述显示生活中很多事物,例如家谱图、单位的组织架构等等
4.7.1、树的定义
树是计算机中非常重要的一种数据结构,使用树这种数据结构可以描述显示生活中很多事物,例如家谱图、单位的组织架构等等
树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。把它叫做树是因为它开起来想一个倒挂的树,也就是它的根朝上,而叶朝下。
特点:
- 每个结点有零个或多个子节点
- 没有父结点的节点称为根节点
- 每一个非根节点只有一个父结点
- 每个结点及其后代结点整体上可以看做一棵树,称为当前结点的父结点的一个子树
4.7.2、树的相关概念
- 结点的度:一个结点含有的子树个数称为该结点的度
- 叶结点:度为0的结点称为叶结点,也可以叫做终端结点
- 分支结点:度不为0的结点称为分支结点,也可以叫做非终端结点
- 结点的层次:从根节点开始,根节点的层次为1,根节点的后继层次为2,以此类推
- 结点的层序编号:将树中的节点按照从上往下,同一层从左到右的次序排成一个线性的序列,把它们编成连续的自然数
- 树的度:树中所有结点的度的最大值
- 树的高度(深度):树中结点的最大层次
- 森林:m(m>=0)个不相交的树的集合,将一颗非空树的根节点删除,树就变成了一个森林,给森林添加一个统一的根节点,森林就变成一棵树
- 孩子结点:一个结点的直接后继结点称为该结点的孩子结点
- 双亲结点(父结点):一个结点的直接前驱称为该结点的双亲结点
- 兄弟结点:同一双亲结点的孩子结点互称为兄弟结点
Electron页面跳转、浏览器打开链接和打开新窗口
前一篇博客中已经说过Golang对Gzip的处理,其实这是我的服务器端的处理,那么当我们服务器返回Gzip压缩的字符串后,客户端如何进行解压呢?本文主要记录下JavaScript对Gzip进行压缩和解压处理。
我们在工作或是生活中,有时会需要制作一些请柬、奖状、或者桌牌等,这些东西都有一个共性,那就是除了每个人的名字不一样之外,其他大部分内容都是一样的,那么我们可以如何快速地批量制作呢?很简单,用Word的邮件合并功能就能做到!
桌面应用很多都会在系统托盘中出现,那么Flutter的开发的桌面应用该如何增加到系统托盘中呢?本文将带大家一起尝试一下.
Python调用WPS把文档转换PDF,并把PDF转图片,首先需要安装WPS,然后利用pypiwin32把文档转化成PDF,再利用fitz、PyMuPD把PDF转化成图片
快速生成表格
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。