二叉树二叉树的定义二叉树的每个结点最多只有两个分支,结点数只可能是 0, 1, 2。 二叉树是由一个根结点和两颗互不相交的分别称作这个根的左子树和右子树的二叉树定义(递归定义),子树有顺序之分不能调换顺序。 二叉树有以下 5 种基本形态: ∅ ⚪ ⚪ ⚪ ⚪ / \ / \ ⚪ ⚪ ⚪ ⚪空二叉树 根和空的二叉树 根和左子树 根和右子树 根和左右子树 **二叉树不是树的特殊情况,它们是两个概念。**因为如果二叉树某个结点只有一个孩子结点时仍然需要区分这个结点是左孩子还是右孩子;而树的某个结点只有一个孩子结点时就
树与二叉树的转换将树转换为二叉树给定一棵树,能够得到唯一的二叉树,因为树的二叉链表表示只有一种情况。 转换方法(兄弟相连留长子) 在兄弟结点之间加一根线 对每个结点,除了其左孩子外,去除该结点与其余孩子之间的关系 然后得到的数据结构就是二叉树。 将二叉树转换为树 双亲结点和所有的左孩子的右孩子,右孩子的右孩子 … 相连接 去掉所有节点和右孩子的连线 这样就从二叉树转换为树了 是不是很简单呢 (bushi)
树树的基本术语: 节点的度:一个节点含有的子树的个数称为该节点的度; 树的度:一棵树中,最大的节点度称为树的度; 叶节点或终端节点:度为零的节点; 非终端节点或分支节点:度不为零的节点; 父亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点; 孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点; 兄弟节点:具有相同父节点的节点互称为兄弟节点; 节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推; 深度:对于任意节点n,n的深度为从根到n的唯一路径长,根的深度为0; 高度:对于任意节点n,n的高度为从n到一片树叶的最长路径长,所有树叶的高度为0;
Makefile执行过程 读取阶段 读取Makefile文件的所有内容 根据Makefile的内容再程序中建立起变量 在程序中构建起显示规则和隐式规则 建立目标和依赖之间的依赖图 目标更新阶段 用第一阶段构建起来的数据确定哪个目标需要更新然后执行对应的更新方法 变量和函数的展开如果发生再第一阶段就称作立即展开,否则称为延迟展开 Makefile 的规则target: prerequisites recipe target target 可以是一个 object file (目标文件,eg: main.o),也可以是一个可执行文件(executable file, eg: hello
补考结束今天我的补考已经结束了,最近学了高等数学比较长时间,物理电磁学就学了两天大概十几个小时,考的过程中感觉题目并不难,应该是稳过的(当然这段肯定需要等到结果出来之后我才会发出来)。 结果出来了 过了,稳过码上开始OSPP进度最近因为补考的事情完全把 OSPP 搁置了,我从8月30号开始就一点代码都没有写。这段时间实际我是有很多时间在玩的,但是就是不愿意把时间花在写代码上,更乐意去做一些杂七杂八的事情,像是在学计算机的知识,可是现在我完全不记得那段时间学了什么,也没有任何证据证明我学过了东西,这些真的就是很悲哀的事情 - 时间花了,但是不知道到底做了什么。 多动脑,不用动脑的事情谁都想干,奶
这篇博客是警告 事情的起因是这样 之前在我的魔法不是很稳定的时候,我偶然看见了一个叫做 Google上网助手 的 chrome插件, 当时我是很高兴的,可以在不用魔法的情况下就能访问到 Google and Gmail。 然后我就在网上爆找资源下载了那个插件来装到了 Google 上面去,但我发现根本用不了。 刚开始我还没发现问题,因为那个时候我的魔法根本用不了,我不清楚是不是我家(重庆)离连接的节点(日本)太远还是怎么回事,而我在小岛的连接就还挺顺畅的(不过我感觉不应该存在这样的问题啊,之后得认真学习计算机网络知识)。 最近回到学校后我的魔法能用了,但是一直访问不了 Gmail 和 MDN
Dvorak键盘布局前言最近在尝试使用Dvorak键盘布局,发现效果还不错,所以来记录一下。 Dvorak键盘布局Dvorak键盘布局是一种键盘布局,由捷克作家和音乐家斯捷潘·德沃夏克(Stjepan M. Dvorak)在1890年代发明。这种布局的主要特点是,将字母e和t分别放在键盘的左上角,而将字母a和o分别放在键盘的右上角。这种布局的目的是为了提高打字速度和减少手指的移动距离。 Dvorak键盘布局的布局如下: 使用Dvorak键盘布局的好处 Dvorak键盘布局提高打字速度其实不见得,只是满足人体工学,能够提供一个更加舒适的打字姿势,是的你的手在长时间的打字过程中不会感到疲劳。
大一我是怎么度过的学习 学习方面总结一句就是学习成绩很差,没有花时间在真正的学习上,我确实花了挺多时间在学习上的就是不知道在学什么,效率不高导致我既付出了时间成本有没有获得相应的效益。 生活 生活上我大概就是每天去工学馆坐那么几个小时但仍然什么东西都没有学到。我现在想想我那时候每天去工学馆坐那么几个小时真的不知道学了什么,学习的进度很慢,基本就是边学边玩,然后就是什么都没有学到。学习的时候真的就是不要别被一些杂七杂八的事情给打扰到了。 社团 e管家 —— 电脑维修 (没实操过) 羽毛球队 (就是打球,从没练过) 党委宣传部 (拍照) 娱乐 大一上基本没有什么娱乐,就是周末去打羽毛球,偶尔
本地仓库上传到远端仓库(repositories) 将新建的本地仓库上传到 GitHub 涉及几个步骤,包括在 GitHub 上创建新的空仓库,然后将本地仓库推送到这个新创建的远程仓库。以下是详细的步骤: # 将本地文件夹添加到 git 管理git init# 把本地仓库链接到 githubgit remote add origin https://github.com/luliqwerty/note.git# 把你的修改添加到 git 的工作树中git add yourChangedFile# -M:表示强制重命名分支。如果目标分支名称已经存在,会强制覆盖。git branch -M ma
这是我的第一篇博客 在这之前我已经花了很多时间在尝试搭建自己的博客网站,在不同的模板中反复横跳,因为每一个都出了一些问题,例如 Github Pages 的 Actions 用不了亦或是博客原主人里面的东西太多而我又不知道怎么修改其中的内容,然后就又换了其他的模板,反正问题非常多也花了很多的时间,现在就是找到了一个还比较好的模板 hexo + reimu + github pages + 自定义域名 就能够更加方便地关注在内容的输出而不是前端什么的设计以及内容的排版上面。 说不定以后也还得学学前端,即使现在说前端已死但是做其他工作时也会用到前端知识,反正就是在有一项很熟练的技术后尽可能地扩充