前缀、中缀、后缀表达式转换详解

1、中缀表达式转后缀表达式的两种方法:假定有中缀表达式A:1 + (( 2 + 3)* 4 ) – 5,请将它转化为后缀表达式。方法一:直接转换法    (1)首先确定表达式表达式A的运算顺序,然后加括号:((1 + (( 2 + 3)* 4 )) – 5 )    (2)从最里面的一层括号开始运算,转换成后缀表达式的方法为:(忽略括号)数字在前,符号在后。              1

B树 B+树插入删除操作

1 B树在介绍B+树之前, 先简单的介绍一下B树,这两种数据结构既有相似之处,也有他们的区别,最后,我们也会对比一下这两种数据结构的区别。1.1 B树概念B树也称B-树,它是一颗多路平衡查找树。二叉树我想大家都不陌生,其实,B树和后面讲到的B+树也是从最简单的二叉树变换而来的,并没有什么神秘的地方,下面我们来看看B树的定义。每个节点最多有m-1个关键字(可以存有的键值对)。根节点最少可以只有1个关键字。非根节点至少有m/2个关键字。每个节点中的关键字都按照从小到大的顺序排列,每个关键字的左子树中

​每一次排序之后都能确定至少一个元素位置的排序方法包括

1.选择排序:每次将最大的数放到最后。所以最大的数排一次序后位置就确定了。2.冒泡排序:同选择排序。每一次排序最大的值位置确定。3.快排:每一次排序pivot的位置确定。4.堆排序:每一次排序时,都是将堆顶的元素和最后一个节点互换,然后调整堆,再将堆大小减1。所以每一次排序堆顶元素确定。不能至少确定一个元素的位置的方法包括:1.插入排序:不到最后一步求的都是相对位置。2.shell排序:对简单插入排序的改进。不到最后一步,是无法确定每个元素位置的。3.归并排序:局部有序,并不能确定任一元素在全局

邻接表深度优先序列

邻接表如下图所示:深度优先遍历过程是这样的:0->1->4->8->5(回溯8),8->6->2->7(回溯0),0->3广度优先遍历过程是这样的:0->1->2->3,1->4->5,2->6->7,4->8以上数字都是索引,加1对应的是你所给图中的节点号。

广义表的head与tail的基本用法

广义表最基本的操作:取表头head(LS)与取表尾tail(LS)例:LS=(a,(b,c,d))head(LS)=atail(LS)=((b,c,d))head(tail(LS))=(b,c,d)tail(tail(LS))=()head(head(tail(LS)))=btail(head(tail(LS)))=(c,d)head(tail(head(tail(LS))))=ctail(tail(head(tail(LS))))=(d)head(tail(tail(head(tail(LS)

二维数组 A[m][n] 按行优先和按列优先的 下标地址转换公式

设二维数组 A[m][n] 按行优先存储, 每个元素占 p 个字节,  则 Loc(i, j) 的地址为 (i * n + m) * p, 第 i 行前面有 i 行, 每行有 n 个元素, 加上 第 i 行的的 j 个元素,所以地址 为 (i * n + m) * p,  1. 若 j 从下标 1 开始, 则 Loc(i, j) = (i * n + j - 1)     第 i 行的 第 j 个元素,在第 i 行中 前面只有 j  - 1 个元素,  2. 若 i 从下标 1开始,

二叉树总结—建树和4种遍历方式(递归&&非递归)

 二叉树最重要的就是 建立、4种遍历方式,简单应用,如何判断两颗二叉树是否相似 二叉树分为 :1、完全二叉树  2、满二叉树结构性质:1).满二叉树 高度为h ,节点数则为 2^h - 1,且叶子节点全在最下层,且叶子节点数为2^(n-1)个{n代表二叉树层数,也叫深度}2).n个节点的 完全二叉树 深度为 int(log2n)(以2为底n的对数)+ 1; 3).非空二叉树 叶子节点个数==双分支节点数+14).非空二叉树 某节点编号 n  若有

二叉树的创建和遍历

1、查找问题:分静态查找和动态查找2、同样n个元素的查找,二分查找比顺序查找快很多。判定树深度:[log2 n]+1,还可计算平均查找次数,11个节点仅为4.3、树:根与子树,要求子树是不能相交的。于是树的特点:除根节点外,每个节点只有1个父节点。n个节点,n-1条线。树是连通的,且是保证所有节点联通但同时线条树最少的状态。4、节点的度树的度 取最大的节点度5、用什么表示树?链表 (兄弟-儿子表示法):每一个元素1个数据+2个指针(firstChild+nextSibling)转化为二叉树:度为

广义表使用栈链构建二叉树

依次读取广义表中的字符,根据不同情况按照以下方式处理:(1)遇到左括号,可能接下来读取的元素是左孩子,需要将双亲结点入栈,同时将标志k置为1;(2)遇到逗号,下一个读取的元素一定是右孩子,将标志置为2;(3)遇到右括号,表明当前层读取结束,需要回退到上一层,上一层的栈元素将成为新的双亲结点;(4)遇到字符,创建一个新结点,将当前字符ch存入数据域,然后将该结点插入对应的子树中。根据k的值进行以下处理:①k为1,则使该结点成为栈顶元素结点的左孩子结点;②k为2,则使该结点成为栈顶元素结点的右孩子结

关于vue.js element ui 表单验证 使用this.$refs[formName].validate()

实现form表单提交验证功能model : 绑定整个表单model值rules : 整个表单校验规则ref :获取该表单form组件prop : 绑定每个表单的规则,写在el-form-item上validate : 对整个表单进行校验的方法valid : 每个必填表单项都提交为true,否则为false1、简易版 表单提交//使用element-ui 页面组件<el-form :model="ruleForm" :rules="rules" ref