WSL安装Linux虚拟机(以Ubuntu为例)
WSL安装Linux虚拟机(以Ubuntu为例)为什么要用WSLWSL作为win10的新特性,比起传统获取Linux操作系统环境的方式更加轻量化,简单便捷,使用的开发者也不少。
WSL原理图剖析
使用WSL安装Ubuntu具体步骤
打开WSL相关设置在应用->可选功能->更多windows功能中,拉到最下面勾选Windows下的Linux子系统选项和虚拟机平台选项,然后重启(截图的时候没有勾选虚拟机平台,后来网上看经验贴和视频弹幕的时候发现有人说要勾选)。
安装Ubuntu重启之后,直接在Windows store搜索Ubuntu下载。打开cmd,这个时候在新建标签页那里点击下拉菜单会发现已经出现了Ubuntu的选项。于是就新建一个Ubuntu标签页打开,看到如下图所示的内容,发现这里和黑马的教程不一样了,出现了看不懂的报错……但是给了一个文档的地址。
错误处理(下载一个更新包)点击查看文档,发现需要安装Linux kernel update更新包,大小只有6mb左右。
安装好Linux kernel update更新包之后重新打开,发现已经可以注册账号并且正常使用命令行了 ...
【数据结构】树与二叉树
树与二叉树前置知识
树和图属于非线性结构(一对多),其他线性结构属于一对一(前驱和后驱唯一)。
树的其他表示方式:嵌套集合,凹入表示,广义表
树的度是节点度的最大值
有序树、无序树
森林:是 m 棵互不相交的树的集合(把根节点删除,树就变成了森林)
二叉树的逻辑结构和存储结构
完全二叉树的高度 h 和节点数 n 的关系 $2^{(h-1)}-1 < n < 2^h-1$ , 变形为 $h = [log_2n](向下取整) +1$ 或者 $h = [log_2 (n+1)] (向上取整)$
总分支数量 = 总结点数
叶节点数$N_0$,单分支节点数$N_1$,双分支节点数$N_2$
则有总结点数 $=N_0+N_1+N_2$
总分支数 $=N_1+2N_2$
$N_0=N_2+1$(叶子结点数量等于双分支节点数量+1)
完全二叉树顺序存储结构:比如某个节点序号为 n,则其左孩子序号为 2n+1,右孩子的序号为 2n+2
$N(总结点数) = e(边数)+1$
$e = N00+N11+N22+……Nnn$(这两条公式都可以通过把所有分支拿到同一边来完成证明)二叉树链式存 ...
【设计模式】简单工厂模式
简单工厂模式一句话概括简单工厂的特点就是,使用 唯一工厂类 来完成 抽象产品类 对象实例化的工作,客户端只负责调用工厂类的函数接口。举个例子,一个计算器项目中有一个名为 operationFactory 的工厂类,这个工厂类包含一个createOperate的成员方法,返回的是一个符合需求的该类型的对象。客户端只需要创建一个新对象并且把在这个对象赋值为调用 createOperator 的返回值。以下是工厂类代码:12345678910111213class Operation{Operation createOperate(string operator){Operaton oper = null;switch(operatpr){case “+”: oper = new OperationAdd(); break;//其他类似运算省略}return oper;}}以下是客户端代码:12345Operator oper;oper = OperationFactory.createOperate(“+”);oper ...