空间直线与平面的交点

如果直线不与平面平行,将存在交点。如下图所示,已知直线L过点m(m1,m2,m3),且方向向量为VL(v1,v2,v3),平面P过点n(n1,n2,n3),且法线方向向量为VP(vp1,vp2,vp3),求得直线与平面的交点O的坐标(x,y,z):将直线方程写成参数方程形式,即有:x = m1+ v1 * ty = m2+ v2 * t (1)z = m3+ v3 * t将平面方程写成点法式方程形式,即有:vp1 * (x – n1) + vp2 * (y – n2) + vp3 * (z –

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

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,则使该结点成为栈顶元素结点的右孩子结