- 博客(29)
- 收藏
- 关注
原创 数据结构笔记之线索二叉树找前驱后继
在不同的线索二叉树类型中,前驱和后继的查找方法有所不同。线索二叉树前驱查找后继查找中序线索二叉树先序线索二叉树父节点条件左兄弟树最后一个被先序遍历的结点后序线索二叉树右孩子/左孩子右孩子/左孩子在构建线索二叉树时,必须小心地设置 ltag 和 rtag 标志以及相应的指针,以便能够有效地找到前驱和后继。这有助于提高遍历和搜索操作的效率。
2024-07-11 11:18:11
934
原创 数据结构笔记之二叉树线索化
然而,在非平衡的二叉树中,普通的遍历方法可能会导致效率低下。二叉树线索化是一种有效的优化遍历策略的方法。通过添加额外的指针并修改遍历算法,我们可以更高效地访问二叉树中的所有结点。二叉树线索化是指将二叉树转换成线索二叉树的过程。线索二叉树是在原二叉树的基础上增加两个指针:ltag和rtag,分别指向左孩子和右孩子的前驱和后继。先序线索化与中序线索化的思路类似,但需要注意处理爱滴魔力转圈圈问题。后序线索化也遵循类似的思路,但在处理最后一个结点的rchild和rtag时需要特别注意。一、什么是二叉树线索化?
2024-07-11 11:14:59
556
原创 数据结构笔记之二叉树遍历及构造树
然后,我们可以使用这些信息来确定每个节点的位置。例如,在前序遍历序列中,我们知道A是根节点,B是A的左子节点,C是A的右子节点。同样,在中序遍历序列中,我们也知道A是根节点,B是A的左子节点,C是A的右子节点。首先,我们需要知道每个节点在遍历序列中的位置。例如,在前序遍历序列中,A是第一个元素,B是第二个元素,C是最后一个元素。同样,在中序遍历序列中,A是第五个元素,B是第三个元素,C是第七个元素。
2024-07-10 11:51:24
226
原创 数据结构笔记之KMP优化
nextval数组(也称为failure function或partial match table)是next数组的一个优化版本。next数组在遇到不匹配时,可能会让模式串回到一个较早的状态,而这个状态可能包含与当前失败点相同的字符,导致不必要的比较。nextval数组避免了这个问题,它只会在模式串中不存在更长的相等前后缀时才退回到前一个状态。
2024-07-09 10:58:51
292
原创 C语言学习笔记之函数细节
如果函数的返回类型不是void,那么return后面应该跟着一个具体的值。如果只写return而不带值,那么表示提前结束函数,不再执行后面的代码。你可以把函数想象成一个“黑盒子”,当你调用它时,它会执行内部的代码并可能返回一个结果。在return语句之后不能再写代码,因为一旦执行到return,函数就会立即终止,不会再向下执行。之后,但在使用之前需要在上方进行声明,告诉编译器函数的存在及其参数和返回类型。注意函数的局部性和全局性,尽量减少全局变量的使用,提高代码的安全性和可维护性。
2024-07-03 18:53:59
420
原创 c语言学习笔记之switch细节
在每个case块的末尾通常会有一个break语句,它的作用是跳出switch语句,避免继续执行后续的case块。在C语言中,switch语句是一种多分支选择结构,可以根据给定的表达式的值来决定执行哪一段代码。如果需要根据一个变量的不同值执行不同的操作,而且这些值是离散的、有限的,那么switch语句就非常合适。在一个switch语句中,多个case标签的值不能重复,因为这样会导致无法正确地跳转到特定的代码段。每个case标签后的值必须是一个常量表达式,即一个固定的值,而不是变量或其他可变的表达式。
2024-07-02 18:05:35
796
原创 C语言学习笔记之运算符优先级
需要注意的是,图片中提到在Windows平台上,前缀自增和后缀自增的优先级有所不同。在标准C语言中,这两种自增运算符的优先级是一样的。除了优先级外,还需要考虑运算符的结合性。大多数运算符都是左结合的,意味着它们从左向右进行计算。在所有的运算符中,小括号具有最高的优先级。无论你在括号内放置什么运算符,都会先进行括号内的计算。在C语言中,不同的运算符有不同的优先级。它们的操作对象有两个,并且优先级介于一元和三元之间。这种运算符的优先级最低,在所有的运算符中最后计算。六、注意运算符的结合性。
2024-07-02 18:00:00
419
原创 c语言学习笔记之三元运算符秒杀嵌套
在寻找的过程中,我们可能遇到其他的问号。每遇到一个新的问号,我们就需要增加查找冒号的数量。中,我们需要找到第二个冒号的位置。由于之前已经有一个问号了,所以现在需要找到两个冒号。在C语言中,有一种特殊的表达式,称为条件表达式,或者三元运算符。这意味着我们需要计算从当前位置开始向右查找冒号的数量。三、如果过程中遇到了其他问号,那么找冒号的数量加1。是一个布尔表达式,如果它为真,则整个表达式的值为。二、解题关键:从左边的第一个问号开始往后找冒号。,然后我们需要找到与其配对的冒号。因此,最终的结果将是。
2024-07-01 18:12:22
205
原创 C语言学习笔记之数据类型
在C语言中,整数可以分为有符号和无符号两种类型。无符号整数只能表示非负整数,其取值范围比对应的有符号整数大一倍。在输出无符号整数时,应使用printf函数中的%u格式化字符串作为占位符。为了确定某个数据类型在内存中的实际占用空间,可以使用sizeof运算符。三、取值范围:double > float > long long > long > int > short。四、后缀:long (L)、long long (LL)、float (F)五、unsigned可以跟整数类型组合成无符号整数,占位符用%u。
2024-07-01 18:08:28
367
原创 表情识别(基于kreas和RAF数据集)
总体思路是通过人脸检测模型检测人脸位置,然后利用情绪识别模型对人脸进行情绪识别,并将识别结果实时绘制在图像上展示给用户。整个流程涵盖了图像处理、模型推断和实时展示等方面,为用户提供了一个简单但有趣的表情识别应用。
2024-03-27 10:50:07
866
原创 表情识别归一化处理
总的来说,这个归一化处理的步骤包括将图像转换为浮点数类型、进行均值中心化和标准化操作,旨在将图像的像素值调整到一个合适的范围内,以便更好地用于机器学习模型的训练和推理。
2024-03-27 10:37:59
395
1
原创 CCC 24 J4 Troublesome Keys
这道题的解题思路主要是通过比较两行输入,找出它们之间的差异,从而确定“坏键”以及显示的错误字母。
2024-03-26 23:12:22
1201
原创 加载权重时候出现:not created its variables yet
这个错误是由于尝试将保存在 HDF5 格式中的权重加载到一个还未创建其变量的子类模型中所导致的。在加载权重之前,需要先调用该模型以创建其变量。
2024-03-25 16:55:41
496
多人姿态估计、情绪识别、人脸识别、静默活体检测
2024-03-25
人脸检测和表情识别以及qt gui
2024-03-25
基于java web的gpt网站搭建
2024-01-21
基于java swing和mysql的商城购物系统
2024-01-21
基于java swing和mysql的学生管理系统
2024-01-21
基于swing和mysql的JDBC系统
2024-01-21
基于深度学习的知识追踪模型训练
2024-01-21
基于java swing和dom4j的购物管理系统
2023-05-30
基于java swing和mysql的超市管理系统
2023-05-30
基于java swing和mysql的点餐系统
2023-05-30
python+mysql学生管理系统,可视化界面
2023-05-30
基于Java swing 和mysql的商城购物系统,分为用户端和管理端
2023-05-19
基于java swing的学生成绩管理系统
2023-05-09
javaweb学生成绩管理系统
2023-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人