- 博客(46)
- 收藏
- 关注
原创 迪杰斯特拉求最短路径//Dijkstra
【基本要求】给定n个村庄之间的交通图。若村庄i和j之间有路可通,则i和j用边连接,边上的权值Wij表示这条道路的长度。现打算在这n个村庄中选定一个村庄建一所医院。编写如下算法:(1)求出该医院应建在哪个村庄,才能使距离医院最远的村庄到医院的路程最短。(2)求出该医院应建在哪个村庄,能使其它所有村庄到医院的路径总和最短。【提示】对于问题(1),可以先求出每个村庄到其它所有村庄的最短路径,保存其最大值(表示假设医院建在该村庄,距离医院最远的村庄的路径长度);
2024-10-24 00:11:47
205
原创 2.1.2设计一个高效算法,将顺序表中的所有元素逆序,要求空间复杂度为O(1)
【代码】2.1.2设计一个高效算法,将顺序表中的所有元素逆序,要求空间复杂度为O(1)
2024-06-16 17:59:54
132
原创 线索化二叉树
NULL && pre->rchild == NULL) { // 前驱节点的右子树为空,建立后继线索。// rtag=0表示rchild指向右子树,rtag=1表示rchild指向后继节点。// ltag=0表示lchild指向左子树,ltag=1表示lchild指向前驱节点。// 创建二叉树,调用 InThread 进行线索化,然后进行线索化后的遍历等操作。if (q->lchild == NULL) { // 左子树为空,建立前驱线索。// 访问根节点并线索化。// 访问节点并进行线索化。
2024-04-01 17:40:50
308
原创 数据库(视图)
视图定义中允许使用 ORDER BY 语句,但是若从特定视图进行选择,而该视图使用了自己的 ORDER BY 语句,则视图定义中的 ORDER BY 将被忽略。2)安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。通过视图,可以展现基表(用来创建视图的表)的部分数据;视图数据来自定义视图的查询中使用的表,使用视图动态生成。对视图的修改:单表视图一般用于查询和修改,会改变基本表的数据,多表视图一般用于查询,不会改变基本表的数据。
2023-06-19 21:13:20
201
原创 排序(六大排序)
插入排序根据查找插入位置的方式不同可以分为三类:按顺序法查找插入位置的——;按折半法也叫二分法查找插入位置的——;缩小增量多遍插入排序的——。
2023-06-19 21:11:05
82
原创 数据库完整性详解(PRIMARY KEY、REFERENCES、CHECK、CONSTRAINT、DOMAIN、TRIGGER)
关系模型的实体完整性CREATE TABLE中用PRIMARY KEY定义单属性构成的码有两种说明方法定义为列级约束条件定义为表级约束条件对多个属性构成的码只有一种说明方法定义为表级约束条件举几个例子将Student表中的Sno属性定义为码(1)在列级定义主码(2)在表级定义主码将SC表中的Sno,Cno属性组定义为码PRIMARY KEY (Sno,Cno) /*只能在表级定义主码*/关系模型的参照完整性定义在中用FOREIGN KEY短语定义哪些列为外码。
2023-04-20 11:35:24
461
原创 DFS 与 BFS
非递归:1.利用栈实现2.从源节点开始把节点按照深度放入栈,然后弹出3.每弹出一个点,把该节点下一个没有进过栈的邻接点放入栈4.直到栈为空。
2023-04-13 00:43:14
93
原创 KMP算法 (来自Carl老师)
说到KMP,先说一下KMP这个名字是怎么来的,为什么叫做KMP呢。因为是由这三位学者发明的:Knuth,Morris和Pratt,所以取了三位学者名字的首字母。所以叫做KMP写过KMP的同学,一定都写过next数组,那么这个next数组究竟是个啥呢?next数组就是一个前缀表(prefix table)。前缀表有什么作用呢?前缀表是用来回退的,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从哪里开始重新匹配。
2023-03-15 23:35:53
206
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人