- 博客(91)
- 收藏
- 关注
原创 数据结构-树-应用题-5.4-6
对于每个节点,根据其度数 `d`,找到其所有子节点,并适当设置 `lchild` 和 `rsibling` 指针。如果节点有子节点(`d > 0`),则将第一个子节点设置为 `lchild`。定义几个整数变量用于控制循环和记录状态:`i` 和 `j` 作为循环计数器,`d` 用于存储当前节点的度数,`k` 用于跟踪当前处理的子节点的索引。初始化 `pointer` 数组,为每个节点设置数据和将子节点和兄弟节点指针初始化为 NULL。- `T`:指向 CStree 结构的引用,将作为创建的树的根节点返回。
2024-05-12 16:12:41
1080
1
原创 数据结构-树-应用题-5.4-5
根据孩子树和兄弟树的高度,选择更大的值,并加上当前节点本身的高度(即加 1)作为当前节点的高度,然后返回这个高度值。函数名为 `height`,接受一个孩子兄弟表示法的树 `bt` 作为参数,返回该树的高度。树的根节点由链表的头部表示,每个节点的。否则,分别计算当前节点的孩子树和兄弟树的高度,递归调用 `height` 函数。定义两个变量 `hc` 和 `hs`,用来存储当前节点的孩子树和兄弟树的高度。指向节点的下一个兄弟节点。节点还可能包含其他属性,例如节点的值或标签。指向节点的第一个孩子节点,
2024-05-12 15:46:19
299
1
原创 数据结构-树-应用题-5.3-21
它接收三个参数:一个 `BiTree` 类型的 `bt`,这里假设 `BiTree` 是一个结构体,其中包含了一个整数数组 `BiTNode` 和它的长度 `length`;这几行定义了布尔类型 `bool` 在 C 语言中的等价表示,其中 `true` 等于 1,`false` 等于 0。递归调用 `judge` 函数以检查当前节点的右子树(在数组中的位置为 `k*2+2`)。这行检查当前索引 `k` 是否在数组长度内,并且当前节点的值不是 `-1`(假设 `-1` 用来表示不存在的节点,即空节点)。
2024-05-12 09:29:57
411
原创 数据结构-树-应用题-5.3-19
若结点非叶子结点,则左子树不为空时,对左子树递归,右子树不为空对右子树递归,深度参数为本节点深度加一。基于先序遍历,用一个静态变量static记录wpl,把每一个结点的深度作为参数进行传递。若结点是叶子结点,则变量wpl加上该点深度与权值的乘积。
2024-05-12 09:00:19
230
原创 数据结构-树-应用题-5.3-15
由于后序序列是在左子树之后遍历右子树,而左子树的部分已经存储在后序序列中,所以右子树的部分应该从左子树部分的后一个位置开始存储,即 `l2 + half`,而右子树的长度是 `half`,所以结束索引应该是 `h2 - 1`。5. `l2` 和 `l2 + half - 1`:后序序列左子树的起始和结束索引。由于后序序列是先遍历左子树,所以左子树的部分应该紧跟在根节点之后,而根节点的位置在 `l2` 处,左子树的长度是 `half`,所以结束索引应该是 `l2 + half - 1`。
2024-05-12 08:33:23
928
原创 数据结构-树-应用题-5.3-13
后序遍历最后访问根节点,即在递归算法中,栈是压在栈底的,设p在q的左边,采用,后序非递归算法,后序遍历先遍历到结点p,栈中元素均为p的祖先,先将栈复制到另一辅助栈中,继续遍历到节点q时,将栈中元素从栈顶开始逐个到辅助站中去匹配,第一个匹配的元素即为p和q的公共祖先。
2024-05-12 07:59:54
211
原创 数据结构-树-应用题-5.3-12
**定义结构体**:定义了一个结构体 `stack`,其中包含了一个指向二叉树节点的指针 `t` 和一个整型 `tag`。- **栈顶元素标记**:如果栈不为空,将栈顶节点的 `tag` 标记为1(表示该节点已被访问),并将当前节点移动到栈顶节点的右子节点。2. **迭代遍历**:通过循环结构,遍历整个二叉树。- **栈操作**:将当前节点压入栈中,并将 `tag` 标记为0,表示该节点未被访问。- **节点值匹配检查**:如果当前节点的值等于目标值 `x`,则输出该节点的所有祖先节点值,并退出程序。
2024-05-12 07:43:51
564
原创 数据结构-树-应用题-5.3-11
**左子树处理**:如果当前节点 `p` 的左子节点存在,则检查其值是否等于目标值 `x`。- **右子树处理**:如果当前节点 `p` 的右子节点存在,则检查其值是否等于目标值 `x`。- **节点值匹配检查**:如果当前节点的值等于目标值 `x`,则调用 `DeleteTree` 函数删除以该节点为根的子树,并终止程序。- **条件检查**:如果 `bt` 不是 `NULL`(即树或子树不为空),则继续删除过程。- **函数定义**:这个函数接受一个二叉树的引用 `bt`,并删除它的所有节点。
2024-05-11 20:40:38
498
原创 数据结构-树-应用题-5.3-10
当在左子树返回的ch不为'#'时,证明已经在左子树中找到,而在右子树递归中,为什么没有if语句,在右子树中找到了就到了,没找到就再也找不到了。
2024-05-11 20:22:53
193
原创 数据结构-树-应用题-5.3-7
算法设计思想,使用层次遍历,将所有节点加入队列,若发现空节点,则检查其后面有无空节点,若有则不是完全二叉树。二叉树按二叉链表形式存储,试编写一个判别给定二叉树是否是完全二叉树的算法。
2024-05-11 17:25:03
159
原创 数据结构-树-应用题-5.3-6
参数 `l1`, `h1`, `l2`, `h2` 指的是我们当前正在处理的 `A` 和 `B` 数组中的起始和结束索引。- `l2` 到 `l2+llen-1`:在中序遍历(数组 `B`)中,根节点位置前的所有元素都属于左子树。由于 `i` 是中序遍历中根节点的位置,所以左子树的起始位置是 `l2`,结束位置是 `i-1`,即 `l2+llen-1`。由于左子树和根节点共占据 `l1+llen` 个位置,右子树的起始位置是 `h1-rlen+1`,结束位置是 `h1`。
2024-05-11 17:13:42
505
原创 数据结构-树-应用题-5.1-1
5)树中的度指的是结点的分叉个数,也就是所谓的孩子个数,树的最大度数为m,则称该树为m叉树。节点数n=23+n4,度数和为n1+2*n2+3*n3+4*n4。4)具有n个结点的m叉树的最小高度为(当这棵树为完全二叉树)h最小高度为h=[log3(2n+1)](向上取整),当m为2时,高度为h的二叉树至多有。2)度为m的数中,第i层上至多有。3)高度为h的m叉树至多有。
2024-05-11 08:19:51
695
原创 数据结构-栈队列数组-应用题-3.3-4
客车队列为q1,货车队列为q2,每次取出4个q1元素后再取一个q2元素,直到q的长度为10。若q1不充足,则直接用q2补齐。
2024-05-10 21:13:35
158
原创 数据结构-栈队列数组-应用题-3.3-3
这里,`fv2` 是 `P(n-1)(x)`,`fv1` 是 `P(n-2)(x)`。初始化两个浮点变量 `fv1` 和 `fv2`。对于Legendre多项式,这里的`fv1` 对应 `P0(x)`(总是 1),`fv2` 对应 `P1(x) = 2x`。定义了一个结构体 `stack`,其中包含两个字段:`no` 存储整数,`val` 存储浮点数。如果 `n` 为 0,返回 `fv1`(即 `P0(x)`)。定义一个函数 `p`,它接受一个整数 `n` 和一个浮点数 `x` 作为参数,返回一个浮点数。
2024-05-10 21:01:30
350
原创 数据结构-栈队列数组-应用题-3.3-1
算法的基本思想:扫描每一个字符,遇到花、中、圆括号的左括号时进栈,遇到相应的右括号时检查栈顶元素是否为相应的左括号,若是则出栈,否则匹配失败。
2024-05-10 20:33:33
168
原创 数据结构-栈队列数组-应用题-3.2-4
队满:front==rear->next。链式存储方便开辟新空间,出队后的结点并不释放,入队出队操作时间复杂度始终保持O(1)1)顺序存储无法满足队列占用空间随着入队操作而增加。2)循环队列,队空:front==rear。
2024-05-10 16:31:54
163
原创 数据结构-栈队列数组-应用题-3.2-3
使用两个栈来模拟队列,依次进入一个栈,然后出栈进入另一个栈,这样队首元素就放到了栈顶,再依次出栈完成了先进先出。
2024-05-10 16:25:12
246
原创 数据结构-栈队列数组-应用题-3.2-2
Q是一个队列,S是一个空栈,实现将队列中的元素逆置的算法。用栈将出队的元素逆序提取出来,全部入栈后再逐个出栈入队列。
2024-05-10 16:11:51
126
原创 关于队列front和rear的一些计算
队列的长度为(rear-front+maxsize)%maxsize, 末减初,rear减front。(在执行入队时需修改对尾节点的指针域,而查找队尾结点需要O(n)时间)
2024-05-10 15:55:09
1214
原创 数据结构-栈队列数组-应用题-3.1-5
共享栈,将两个栈的栈底设在向量两端,初始时,s1栈顶指针为-1,s2栈顶指针为maxsize(最后一个元素下标为maxsize-1),当栈顶指针相邻时,栈满。
2024-05-10 15:14:52
130
大学物理(下)第九章静电场知识点课件124页-期末复习必备
2023-12-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人