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

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)