自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 【数据库系统原理与实践】课程笔记+期末复习

无法通过自然连接重建原始关系元组的分解检查关系模式R是否属于BCNF,仅需检查给定集合F中的函数依赖是否违反BCNF,不用检查F+的所有函数依赖如果F中没有违反BCNF的函数依赖,那么F+中也不会有违反BCNF的函数依赖但是在检测由关系R分解后的关系Ri是否满足BCNF范式时,不能只使用Fsql标准规定事务的开始是隐式的事务的结束用下列sql语句之一来表示commit:提交当前事务并开始一个新的事物rollback:回滚当前事务。

2024-01-09 17:04:28 889

原创 【嵌入式系统原理与实践】课程笔记+期末复习

RISC(精简指令集结构):RISC处理器简化了处理器结构、减少了复杂功能的指令,同时支持处理器扩展。16/32位微处理器:此处的16/32位指的是CPU的字长用于通用计算机x86amd用于嵌入式系统armmipsrisc-v(完全开源)GPIO口是按组规划,8/16/32个为一组一般每个GPIO口都需要做两个寄存器位:一是选择口线方向(输入输出),二是需要一个数据位(用于设置输出数据和读取输入数据)GPIOxDIR:控制各个GPIO口的方向。

2024-01-09 16:48:30 892

原创 【数据结构】广义表的深度

遍历广义表时,记录结点地址和经过次数,在遍历该结点的广义表时,如果某一结点经过了一次以上,则说明存在递归表。可以看到,递归深度达到26001,栈内存溢出,系统报错。实际上,递归表的深度是无穷大。如果递归求解的数据规模很大,调用层次很深,一直压入栈,会有堆栈溢出的风险。简单改动代码,测试在递归表的情况下height函数的递归深度。如果没有中止条件,递归函数就会无休止地被调用。可以通过储存中间计算结果减少递归函数的调用。

2023-11-19 00:51:34 130

原创 【数据结构】合并有序环形链表

假设 A和 B是两个按结点值从小到大排列的有序环形链表 (带表头结点,表头结点中 不存放有效信息)。试编写一个将这两个有序的环形链表归并为一个按节点值从小到大 排列的有序环形链表的 C函数。

2023-11-19 00:43:18 71

原创 【数据结构】反转链表

编写一个将给定的线性单链表逆转的函数,只允许改变结点的指针值,不允许移动结点值 ,返回逆转后的链表的头指针。

2023-11-19 00:38:07 39

原创 【计算机图形学】Blinn-Phong 光照模型

定义环境光系数,用该系数乘以光的颜色作为环境光分量。观察视线与反射光线的夹角越小,镜面光越强。光线与面片法线的夹角越小,物体便会更亮。

2023-07-10 02:07:58 130

原创 【计算机图形学】几何变换和多边形裁剪-Cohen-Sutherland裁剪算法

【代码】【计算机图形学】几何变换和多边形裁剪-Cohen-Sutherland裁剪算法。

2023-07-10 02:03:07 118

原创 【计算机图形学】Bezier贝塞尔曲线

重复上述的过程,就可以得到一条完整的贝塞尔曲线。n个锚点需要进行n-1次插值,用递归实现。即为3个锚点下的2次贝塞尔曲线上的一点。

2023-07-10 01:41:35 98

原创 【计算机图形学】圆绘制算法-Bresenham

若d≤0,则先将d更新为d+2x+3,再将(x,y)更新为(x+1,y);否则先将d更新为d+2(x-y)+5,再将(x,y)更新为(x+1,y-1)。圆心在原点,半径为R的第一象限上的一段圆弧。且取(0,R)为起点,按顺时针方向绘制该1/8圆弧。3.绘制点(x,y)及其在八分圆中的另外七个对称点。2.计算初始值d=1.25-R、x=0、y=R。5.当x<=y时,重复步骤3和4。对于圆上的点,有F(x,y)=0;对于圆外的点,F(x,y)>0;对于圆内的点,F(x,y)<0。1.输入圆的半径R。

2023-07-10 01:12:00 1371

原创 【计算机图形学】直线绘制算法-数值微分 (DDA) 和 Bresenham

DDA 算法与Bresenham 算法的区别1.1 效率。

2023-07-10 00:54:39 1124 1

原创 【数据结构】最佳查找树

外部路径长度:由根结点到二叉树所有外部结点的路径长度的 总和为二叉树的外部路径长度En。内部路径长度:由根结点到二叉树的所有内部结点的路径长度 的总和为二叉树的内部路径长度In。动态规划:一棵最佳查找树的所有子树都是最佳查找树。取最小值的查找树就是最佳查找树。

2023-06-30 19:55:54 482 1

原创 【数据结构】平衡树

为了找到最底部不平衡的子树,将删除操作迁移到最底部的子 树上进行(让被删除的结点v,最多有一个孩子。如果v有两个孩 子,则用它的中序的前一个结点代替它,然后删除它的中序的前一个结点)。首先将B改为C的左子树,而C原来的左子树CL改为B的右子树,然 后将A改为C的右子树,C原来的右子树CR改为A的左子树。不考虑结点的平衡度,使用在查找树中插入新结点的算法, 把新结点k插入树中,同时置新结点平衡度。​ 将A改为B右子树,B原来的右子树BR改为A的左 子树。为根的子树的形态,使得新子树的高度和插入以前以。

2023-06-30 19:50:58 68 1

原创 【数据结构】二叉查找树

如果树T是满树,那么树T一定是拟满树(完全二叉树)和丰满树。如果树T是拟满树(完全二叉树) ,那么树T一定是丰满树。(2)若r>0,且剩下的r个结点尽量靠左地排列在第i层上,则称树T是一棵拟 满二叉树(完全二叉树)。(1)如果树T的根节点的左子树非空,那么左子树中的所有结 点的键值都小于T的根结点的键值。(2)如果树T的根节点的右子树非空,那么右子树中的所有结 点的键值都大于T的根结点的键值。(1)若r=0,则称树T是一棵满二叉树,简称满树。(3)树T的根结点的左、右子树也都是查找树。

2023-06-30 19:43:24 51 1

原创 【数据结构】外部排序

通过不断地向败者树中读入记录,会产生多个 MINIMAX,直到最终所有叶子结点中的序号都为 2,此时产生的新的 MINIMAX 值的序号 2,表明此归并段生成完成,而此新的 MINIMAX 值就是下一个归并段中的第一个记录。(1)按照内存大小,将大文件分成若干长度为 l 的子文件(l 应小于内存的可使用容量),然后将各个子文件依次读入内存,使用适当的内部排序算法对其进行排序,将排好序的归并段重新写入外存,为下一个子文件排序腾出内存空间;(2)尽量减少初始归并段的数量 m,即增加每个归并段的容量;

2023-06-30 18:46:01 119 1

原创 【人工智能】习题——监督学习

根据trear-prod-rate划分后的信息熵最小,相应的信息增益最大,trear-prod-rate被选为对。可知,划分后的信息熵越小,则获得的信息增益越大,从而选择使得当前样本集合信息增益最大的属性a作为当前的划分属性。根据astigmatism划分后的信息熵最小,相应的信息增益最大,被选为第一次划分的属性。(img-78pvhTRq-1685029037596)]根据age划分后的信息熵最小,相应的信息增益最大,age被选为对。根据age划分后的信息熵最小,相应的信息增益最大,age被选为对。

2023-05-25 23:39:36 344

原创 【人工智能】习题——博弈搜索

实际上,当n=k(m+1)+1时,后手必胜。设先手取出x个物品,后手只需要取出m+1-x个物品,使得n整除m+1的余数为1,且后手方仍是后手方。即先手必败后手必胜。本题中n=9,m=3,n=2(3+1)+1,满足后手必胜条件。通过搜索树得知,当先手的局面剩5个硬币时,后手必胜,而无论先手在第一步时取走几个硬币,后手总能使先手在第二步决策时只剩下5个硬币。有一种N/M或“最后者输”的博弈游戏,其玩法如下:开始有9枚硬币,两人轮流取出1、2或3枚,取出最后一枚者为输,试用搜索树证明后起步者总能取胜。

2023-05-25 23:34:50 867

原创 【人工智能】习题——不确定搜索

区别:局部搜索算法主要针对目标函数局部最优解的问题,每次迭代都会更新当前搜索到的最优解,直到不能再找到更优解为止(邻域解集为空)。模拟退火算法模拟了物质的退火过程,通过不断降温逐步减少系统的能量,以达到稳定状态,在这一过程中,偶尔允许系统跳到能量较高的状态,以避开局部极小点,最终稳定到全局极小点。联系:二者都是通过随机构建初始解,在邻域内生成新解,判断解的信息,不断调整,以达到最终解。模拟退火算法允许以一定的概率接受劣解以跳出局部最优解,并逐渐降低接受劣解的概率,直到最终找到全局最优解或达到终止条件。

2023-05-25 23:32:01 84

原创 【人工智能】习题——启发式搜索

又因为open表上任一具有f(n)<f*(S)的节点n,最终都会被A*选做扩展的节点,放入close表中,所以在open表中剩下的节点都有f(n)>f*(S)。引理1:对无限图,若有初始节点S到目标节点T的路径,则A*不结束时,在open表中即使最小的一个值也将增到无限大,或有f(n)>f*(S)试给出爬山法和分支界限搜索算法搜索图1所示的从A到J的搜索路径,其中g(n)用节点深度表示,h(n)的值在图中显示。->T不是最佳的,则f(T)=g(T)>f*(S),由引理2知结束前open表中存在f(n)

2023-05-25 23:30:32 863

原创 【人工智能】习题——一般图搜索

用四元组(N,H,Y,C)表示农夫,狐狸,小羊和菜篮的状态,0表示在此岸,1表示在对岸。初始状态为(0,0,0,0),目标状态为(1,1,1,1)。当N为0时,H和Y不能同时为1,Y和C不能同时为1;当N为1时,H和Y不能同时为0,Y和C不能同时为0。假设农夫每次只能带一样东西过河,考虑安全,无农夫看管时,狐狸和小羊不能在一起,小羊和菜篮不能在一起。(3)对于当前状态,遍历其所有可能的状态转移,对于没有访问过的新状态,如果该状态是目标状态,则停止搜索并返回搜索结果;在 3 X 3 的空格内,用1,2,…

2023-05-25 23:24:41 176

原创 【人工智能】决策树—信息增益

【代码】【人工智能】决策树—信息增益。

2023-04-18 15:47:44 44

原创 【数据结构】外部排序与最佳归并树

通过不断地向败者树中读入记录,会产生多个 MINIMAX,直到最终所有叶子结点中的序号都为 2,此时产生的新的 MINIMAX 值的序号 2,表明此归并段生成完成,而此新的 MINIMAX 值就是下一个归并段中的第一个记录。(1)按照内存大小,将大文件分成若干长度为 l 的子文件(l 应小于内存的可使用容量),然后将各个子文件依次读入内存,使用适当的内部排序算法对其进行排序,将排好序的归并段重新写入外存,为下一个子文件排序腾出内存空间;(2)尽量减少初始归并段的数量 m,即增加每个归并段的容量;

2023-04-13 20:57:17 662

原创 【数据结构】堆排序与优先队列

树T中的任一结点的值不小于它的左子结点的值(如果左子结点存在),且不小于它的右子结点的值(如果右子结点存在),那么我们称树T是一个堆(heap)(1)若2i+1<n,则 a[i]≥a[2i+1] (2)若2i+2<n,则 a[i]≥a[2i+2]siftdown(a,i,n):循环的执行次数与表示堆的二叉树的层数有关。自上而下siftdown,根结点的左右子树都是堆,根结点不满足堆的特性。有n个结点的完全二叉树的层数为调用一次的时间复杂度O(log2n)b)将a[0]到a[i-1]之间的结点调整成堆。

2023-04-13 20:47:47 75

原创 【数据结构】树的遍历、二叉树的性质和相关计算

对于T中的每个结点k,如果它没有左(或右)子结点, 而k’是k的按中序的前面(或后面)结点,那么置结点k的左。无左子结点: t->ltag=1 或 t->lchild =NULL(中序的第一个)无右子结点: t->rtag=1 或 t-rchild =NULL(中序的最后一个)用一个指针root指向根结点,还用一个指针head指向按中序的最前面一个结点。ltag=1,lchild用来存放“线”,指向的是该结点的按中序的前面结点。具有n(n>0)个结点的完全二叉树的深度为[个,次数为2的非叶子结点有。

2023-04-13 20:41:35 84

原创 【数据结构】并查集

【代码】【数据结构】并查集。

2023-04-13 20:37:01 28

原创 【数据结构】Huffman算法—寻找最小加权外部路径长度的二叉树

如果结点序列具有n个结点,构造完的Huffman树一共有多少个结点(包括 叶子结点和非叶子结点):n+n-1=2n-1。出现次数多的结点,编码不会比出现次数少的结点长。寻找具有最小加权外部路径长度的二叉树的方法。寻找具有最小加权外部路径长度的二叉树的方法。Huffman树的非叶子结点的度:2。huffman编码是最优前缀编码。编码不唯一(子树不要求左右)“字符”只出现在叶子,

2023-04-13 20:32:10 272

原创 【人工智能】无监督学习-Kmeans聚类

【代码】[人工智能]无监督学习-Kmeans聚类。

2023-04-11 15:34:38 51 1

原创 【计算机图形学】创建和显示窗口并实现简易画笔

操作系统通过向其传递消息来与您的应用程序窗口进行通信,消息只是指定特定事件的数字代码。例如,如果用户按下鼠标左键,则窗口会收到一条消息代码。为了实现鼠标左键移动并移动的时候可以绘制线条,我们可以在函数内部设置一个静态局部变量。后,程序会调用窗口过程来进行消息处理,接下来我们需要完成之前声明的。运行代码之后,按下鼠标左键,我们就可以在窗口对应的位置绘制像素点。,这样我们就可以在窗口对应的位置连续绘制像素点,从而实现简易画笔。定义了窗口的大部分行为,我们在注册窗口类的时候定义的。会捕获鼠标移动事件,在。

2023-04-05 16:59:40 186 1

原创 【人工智能】字符路径

【代码】人工智能-字符路径。

2023-04-04 17:23:22 65 1

原创 【算法分析与设计】分治策略解决最近点对问题

将集合P划分为大小近似相等的两个子集。中各一个点的最近点对。

2023-03-31 23:30:56 291 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除