自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构 -- B树和B+树

一棵m阶的B+树需要满足以下条件①每个分支结点最多有m棵子树②非叶根结点至少有两棵子树,其他每个分支节点至少有[m/2]棵子树③结点子树个数与关键字个数相等④所有的叶结点包含全部关键字及指向对应记录的指针,叶结点中将关键字按大小排序,并且相邻叶结点按大小顺序相互连接起来⑤所有分支结点中仅包含它的各个子节点中关键字的最大值以及指向其子节点的指针。

2025-05-22 11:39:54 1901 30

原创 数据结构 -- 外部排序

败者树可视为一颗完全二叉树(多了一个冠军节点),k个叶结点分别对应k个归并段中当前参与比较的元素,非叶子节点用来记忆左右子树中的“失败者”(只存储该失败者来源于哪个归并段),而让胜者继续向上比较,一直到跟接待你。败者树解决的问题:使用多路平衡归并可减少归并趟数,但是用老方法从k个归并段选出一个最小/最大元素需要对比关键字k-1次,构造败者树可以将关键字对比次数减少到[log2k]次。对于k叉归并,==若初始归并段的数量无法构成严格的k叉归并树,则需要补充几个长度为0的“虚短”,再进行k叉哈夫曼树。

2025-05-25 06:15:00 356 2

原创 数据结构 -- 基数排序

第二趟"收集"结束:得到按百位递减排序的序列,百位相同的按十位递减,十位相同的按个位递减排序。按照各个关键字位 权重递增的次序(个、⼗、百),对 d 个关键字位分别做“分配”和“收集”一趟分配O®,一趟收集O®,总共 d 趟分配、收集,总的时间复杂度=O(d(n+r))第二趟"收集"结束:得到按“十位”递减排序的序列,十位相同的按个位递减排序。由于进行了第一趟分配,所以第二趟分配时,十位相同时,个位更大的优先被收集。由于进行了第二趟分配,所以第三趟分配时,百位相同时,十位更大的优先被收集。

2025-05-25 06:00:00 132

原创 数据结构 -- 选择排序(简单选择排序和堆排序)

*大根堆:**完全二叉树中,根≥左、右**小根堆:**完全二叉树中,根≤左、右在大根堆中,堆顶元素最大;在小根堆中,堆顶元素最小。

2025-05-24 05:15:00 263

原创 数据结构 -- 归并排序

归并:把两个或多个已经有序的序列合并成一个2路归并把两个有序序列合并成一个 – 每选出一个小元素需对比关键字1次4路归并– 每选出一个小元素需对比关键字3次m路归并– 每选出一个小元素需对比关键字m-1次。

2025-05-24 05:00:00 86

原创 数据结构 -- 交换排序(冒泡排序和快速排序)

注:408原题中说,对所有尚未确定最终位置的所有元素进行⼀遍处理称为“⼀趟”排序,因此⼀次“划分”≠⼀趟排序。若每⼀次选中的“枢轴”将待排序序列划分为很不均匀的两个部分,则会导致递归深度增加,算法效率变低。基于“交换”的排序:根据序列中两个元素关键字的比较结果来对换这两个记录在序列中的位置。若每⼀次选中的“枢轴”将待排序序列划分为均匀的两个部分,则递归深度最⼩,算法效率最⾼。⼀次划分可以确定⼀个元素的最终位置,而⼀趟排序也许可以确定多个元素的最终位置。时间复杂度=O(n*递归层数)

2025-05-23 16:30:05 301

原创 数据结构 -- 插入排序(直接插入排序和希尔排序)

先将待排序表分割成若干形如 L[i, i + d, i + 2d,…缩小增量d,重复上述过程,直到d=1为止。目前无法用数学⼿段证明确切的时间复杂度 ,最坏时间复杂度为 O(n2),当n在某个范围内时,可达O(n1.3)比起“直接插入排序”,比较关键字的次数减少了,但是移动元素的次数没变,整体来看时间复杂度仍未O(n。当low>high时折半查找停止,并将low之后的元素全部右移,并将A[0]复制到low所在位置。每次将⼀个待排序的记录按其关键字大小插入到前面已排好序的子序列中,直到全部记录插入完成。

2025-05-23 16:28:57 455 1

原创 数据结构 -- 树形查找(三)红黑树

int key;int color;//结点颜色,如:可用0/1表示红/黑,也可以使用枚举型enum表示颜色结点的黑高bh – 从某结点出发(不含该结点)到达任一叶结点的路径上黑节点的总数。

2025-05-18 20:46:42 533 8

原创 数据结构 -- 树形查找(二)平衡二叉树

平衡二叉树(AVL树) – 树上的任意一点的左子树和右子树的高度之差不超过1节点的平衡因子= 左子树高-右子树高平衡二叉树的结点的平衡因子的值只可能是-1、0、1//平衡二叉树结点int key;//数据域//平衡因子。

2025-05-18 20:40:04 527 1

原创 数据结构 -- 顺序查找和折半查找

查找表(查找结构):用于朝朝的数据集合称为查找表,它由同一类型的数据结构元素(或记录)组成。+n+n)/n+1 = n/2+n/(n+1)若查找到某个元素大于查找目标,则可判定为查找失败(后面的元素都大于查找目标)该元素的某个数据项的值,使用基于关键字的查找,查找结果应该是唯一的。若查找表是“动态查找表”,更好的实现方式 – 使用链式存储。查找成功:ASL=(n+1)/2 时间复杂度:O(n)?,逐步缩小查找区间,直到找到目标元素或查找区间为空。共有14个元素可能被查找,各自被查找的概率为1/14。

2025-05-15 23:02:28 1317 15

原创 数据结构 -- 树形查找(一)二叉排序树

二叉排序树,又称二叉查找树一棵二叉树或者是空二叉树,或者是具有以下性质的二叉树:左子树上所有结点的关键字均小于根结点的关键字右子树上所有结点的关键字均大于根结点的关键字左子树和右子树又各是一棵二叉排序树(二叉排序树中序遍历,可以得到一个递增的有序序列)

2025-05-15 22:53:54 328 5

原创 数字图像处理 -- 眼底图像血管分割方法

基于深度学习的 U-Net 架构,结合注意力机制(Attention Gate)与多尺度特征提取,以提高细小血管的检测能力。综上,Attention U-Net 在保持高特异性的同时,有效提升了对细微血管结构的捕捉能力,使 Dice 系数获得了显著提升。以上结果在 DRIVE 测试集上统计所得,显示本方法在细小血管检测上有显著提升。

2025-04-28 10:31:51 781 22

原创 数据结构 -- 图的应用(二)

在带权有向图中,以顶点表示事件,以有点改变表示活动,以边上的权值表示完成该活动的开销(如完成活动所需的时间),称之为用边表示活动的网络,简称AOE网。在AOE网中仅有一个入度为0的顶点,称为开始顶点(源点),在所有路径中,具有最大路径长度称为关键路径,而把关键路径上的活动称为关键活动。用DAG图(有向无环图)表示一个工程。活动ai的最迟开始时间l(i) – 指该活动弧的重点所表示事件的最迟发生时间与该活动所需时间之差。② 只有在进入某顶点的各有向边所代表的活动都已结束时,该顶点所代表的事件才能发生。

2025-04-28 10:15:18 689 2

原创 数据结构 -- 图的应用(一)

​ 检查所有邻接自vi的顶点,若其final值为false,则更新dist和path的信息。​ 检查所有邻接自vi的顶点,若其final值为false,则更新dist和path的信息。从某一个顶点开始构建生成树;②第一轮:循环遍历所有节点,找到还没确定最短路径且dist最小的顶点vi,令。③第二轮:循环遍历所有节点,找到还没确定最短路径且dist最小的顶点vi,令。第1轮,循环遍历所有节点,找到lowCost最低且还没有加入到树的顶点。从顶点u起始的单源最短路径 → 以u为根的,高度最小的生成树。

2025-04-23 11:11:41 1034 1

原创 openlayers03 -- 武汉旅游查询系统

③点击“保存”按钮时,调用saveLocation函数,更新数据库中的记录,并刷新地图上的标记。②获取点击位置的经纬度,并将表单显示出来,用户可以在表单中输入景点名称和描述。新添加的景点信息可以显示在右侧的景点信息区域,展示景点名称、位置和描述。③将点击位置的坐标保存到表单的dataset中,供后续添加景点时使用。在弹出的输入框中输入景点名称和描述,点击“添加景点”按钮。②找到对应的景点后,删除该记录,并从地图上移除对应的标记。查找到的景点在地图上进行定位,右侧展示景点的详细信息。

2025-04-14 09:44:08 579

原创 openlayers入门02 -- 地图控件

/ 视图跳转控件(这里用的是学校的经纬度范围,可以按照需要修改)// 将初始化的地图设置到id为map的DOM元素上。视图跳转控件用于将地图快速跳转到指定的范围。//(这里用的是学校的经纬度,可以按照需要修改)// 初始化openlayer地图。// 3.初始化一个高德图层。// 设置地图的放大级别。

2025-04-11 10:53:10 503 1

原创 openlayers入门01 -- 环境配置和初始化地图

官网地址:https://code.visualstudio.com/鼠标右键选择在浏览器中打开(或使用快捷键CTRL+1)// 将初始化的地图设置到id为map的DOM元素上。// 将初始化的地图设置到id为map的DOM元素上。点击Download for Windows。方法二:直接将文件夹拖入VSCode中打开。// 初始化openlayer地图。// 初始化openlayer地图。// 3.初始化一个高德图层。// 3.初始化一个高德图层。// 设置地图的放大级别。// 设置地图的放大级别。

2025-04-10 20:01:25 933 2

原创 数据结构 -- 图的遍历

假设图G中顶点y是顶点x的一个邻接点,返回除y外顶点x的下一个邻接点的顶点号,若y是x的最后一个邻接点,则返回-1。由于邻接表的表示方式不唯一,因此基于邻接表的广度优先生成树/森林也不唯一。查找每个顶点的邻接点都需要O(|V|)的时间,而总共有|V|个顶点。查找每个顶点的邻接点都需要O(|E|)的时间,而总共有|E|个顶点。查找每个顶点的邻接点都需要O(|V|)的时间,而总共有|V|个顶点。查找每个顶点的邻接点都需要O(|E|)的时间,而总共有|E|个顶点。访问|V|个顶点需要O(|V|)的时间。

2025-04-08 15:26:03 847

原创 数据结构 -- 图的存储

无向图:第i个顶点的度 = 第i行(或第i列)的非零元素个数 时间复杂度O(|V|)​ 第i个顶点的度 = 第i行和第i列的非零元素个数之和 时间复杂度O(|V|)有向图:第i个顶点的入度 = 第i行的非零元素个数 时间复杂度O(|V|)​ 第i个顶点的出度 = 第i列的非零元素个数 时间复杂度O(|V|)无向图:边结点的数量为2|E|,整体的空间复杂度为O(|V|+2|E|)有向图:边结点的数量为|E|,整体的空间复杂度为O(|V|+|E|)无向图:度 = 顶点指向的边链表中结点的数量。

2025-04-04 22:42:32 1289 7

原创 数据结构 -- 图的基本概念

图G由顶点集V和边集E组成,记为G=(V, E),其中V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)集合。若V={v?,v2,…,vn},则用IV表示图G中顶点的个数,E={(u,v)|u∈V,v∈V},用回表示图G中边的条数。注意:线性表可以是空表,树可以是空树,但是图不可以是空图。V一定非空,但E可以为空,此时图中只有顶点而没有边。

2025-04-04 16:43:32 501

原创 数据结构 -- 树的应用(哈夫曼树和并查集)

在含有n个带权叶节点的二叉树中,其中带权路径长度(WPL)最小的二叉树称为哈夫曼树,也称最优二叉树。

2025-03-30 13:54:02 1151 2

原创 数字图像处理 -- 霍夫曼编码(无损压缩)练习

使用霍夫曼编码通过统计图像中颜色的频率为每个颜色分配一个二进制编码,常见颜色的编码较短,不常见的颜色的编码较长,从而压缩图像的数据量。通过反向映射的霍夫曼编码字典,逐步将二进制编码恢复为原始的RGB颜色值,重建图像数据。

2025-03-27 16:50:38 1166 3

原创 数据结构 --树和森林

处理一个结点的方法是:如果当前处理的结点中在树中右孩子,就把所有孩子节点“用右指针串在一起”,并在二叉树中把第一个孩子挂在当前结点的左指针下方。恢复一个结点的孩子:在二叉树中,如果当前处理的结点有左孩子,就把左孩子和“用右指针与根结点相连的一整串”拆下来,按顺序挂在当前节点的下方。恢复一个结点的孩子:在二叉树中,如果当前处理的结点有左孩子,就把左孩子和“用右指针与根节点相连的一整串”拆下来,按顺序挂在当前节点的下方。①先把二叉树的根结点和“用右指针与根结点相连的一整串”拆下来,作为多棵树的根结点。

2025-03-26 09:59:12 1142 8

原创 数据结构 -- 线索二叉树

【思路】从根节点出发,重新进行依次中序遍历,指针q记录当前访问的结点,指针pre记录上一个被访问的结点①当q == p时,pre为前驱②当pre == p时,q为后继。我们在进行中序遍历时,总是从根节点出发进行二叉树遍历,而当仅知道某一孩子节点的指针时,由于无法访问父节点,所以没有办法进行遍历。【注意】在线序线索化过程中,在访问完左孩子之后会返回根结点导致循环,所以要在遍历左子树之前先判断当前的左孩子是真正的左孩子还是线索。先序前驱/先序后继;先序线索二叉树:以先序遍历序列为依据进行“线索化”

2025-03-23 21:21:39 685 8

原创 数据结构 -- 二叉树的遍历

遍历:按照某种次序把所有的结点都访问一遍线性结构:从头到尾依次遍历 或者从尾到头一次遍历树形结构:(层次遍历)基于树的层次特性确定的次序规则二叉树的遍历:基于二叉树的递归特性确定的次序规则二叉树的递归特性:①要么是空二叉树②要么就是由“根结点+左子树+右子树”组成的二叉树先序遍历:根左右(NLR)中序遍历:左根右(LNR)后序遍历:左右根(LRN)分支结点逐层展开法(手算练习)先序遍历:A B D G E C F中序遍历:D G B E A F C后序遍历:G D E B F C A。

2025-03-19 21:57:44 1081 2

原创 数据结构 -- 二叉树的存储结构

【存在问题】在最坏情况下,高度为h的且只有h个节点的单只树(所有结点只有右孩子),也至少需要2^h-1个存储单元。【注意】如果是一颗普通的二叉树,依然按照层序将各节点顺序存储,那么结点间是没有上述的对应关系的。⭐所以在二叉树的顺序存储中,一定需要将二叉树的节点编号与完全二叉树对应起来。⭐n个结点的二叉链表共有n+1个空链域(可以用于构造线索二叉树)i 所在的层次 – [log2(n+1)]或[log2n]+1。i 的父节点 – [i/2]i 的右孩子 – 2i+1。i 的左孩子 – 2i。

2025-03-18 22:32:29 351

原创 数据结构 -- 树和二叉树

树是n(n≥0)个结点的有限集。当n=0时,称为空树。在任意一棵非空树中应满足:1)有且仅有一个特定的称为根的结点。2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2…,Tm,其中每个集合本身又是一棵树,并且称为根的子树。前驱和后继:C结点是G的前驱和A的后继,G结点是C的后继空树:结点数为0的树非空树的特性:有且只有一个根结点,且根结点没有前驱结点没有后继的结点称为“叶子结点”(或终端结点)有后继的结点(除根结点外)称为“分支结点”(或非终端结点)

2025-03-18 16:34:44 1284

原创 H5入门 -- Html5新特性(二)

代表Web通信的下一个演变,通过一个单一的Socket提供一个全双工,双向通信的通道。类似于LocalStorage,但SessionStorage的数据仅在当前会话(标签页)中有效,一旦会话结束(例如关闭标签页),存储的数据就会被清除。当你要fire掉事件的时候,将需要写function(事件处理器)来处理你需要的,也可能需要给元素绑定事件或做事件指派来简化你的代码;Web SQL数据库API实际上未包含HTML 5规范之中,它是一个独立的规范,它引入了一套使用SQL操作客户端数据库的API。

2025-03-14 21:59:21 453

原创 数据结构 -- 字符串的模式匹配算法(二)next数组的求解

在后面的过程中,在不匹配的位置前画一条分界线,模式串一步一步往后退,直到分界线之前能对上(首尾重合),或模式串完全跨过分界线为止。中存放的data表示,当第 i 个元素匹配失败时,下一次匹配时令 j = data。对于任何一个模式串,第二个字符不匹配时,应尝试匹配模式串的第一个元素,因此。对于任何一个模式串,第一个字符不匹配时,只能匹配下一个子串,因此。,直至两者不相等为止,修正后的数据存放在nextval数组中。先求next数组,再由next数组求nextval数组。,则需要再次递归,将。

2025-03-14 21:16:58 396 2

原创 数据结构 -- 字符串的模式匹配算法

设主串长度为n,模式串长度为m,则最坏时间复杂度 = O(n+m),其中,求next数组的时间复杂度为O(m)④若当前字串匹配失败,则主串 i 指向下一个子串的第一个位置,模式串指针 j 回到模式串的第一个位置。①将主串中所有长度为m的子串依次与模式串对比,直到找到一个完全匹配的子串,或所有的子串都不匹配为止。当第1个元素匹配失败时,匹配下一个相邻子串,令 j = 0,i++,j++当第2个元素匹配失败时,可令主串指针 i 不变,模式串指针 j = 1。在长度为n的主串中,长度为m的子串共有多少个?

2025-03-13 22:19:46 465

原创 数据结构 -- 字符串

串,即字符串(String)是由零个或多个字符组成的有限序列,一般记为S=‘a1a2a3a4’ (n≥0)其中,S是串名,单引号括起来的是字符序列是串的值;ai可以是字母、数字或是其他字符;串中字符的个数n称为串的长度。n=0时的串称为空串(用 ∅ 表示)。例:(不同语言可能使用的边界符不同,Java、c等使用双引号(“ ”)Python等使用单引号(’ ‘))(空格也占一字符)子串:串中任意个连续的字符组成的子序列(也可以是零个)主串:包含子串的串。

2025-03-13 19:49:43 1291

原创 H5入门--html5新特性(一)

使用HTML5,点击一个按钮后在当前页面绘制一个圆,圆心位置为(300,300),半径为100,绘制一个90度扇形,圆心位置为(100,100),半径为50。练习绘制QQ人脸表情符号,点击每一个表情按钮,自动完成绘制。使用HTML5的音频和视频标签实现音频视频的自动播放。基于Javascript的2D绘图。基于webGL的3D绘图。

2025-03-12 19:42:52 765

原创 H5入门--JavaScript常见事件

使用html+js实现简单的坦克游戏:要求坦克可以上下左右移动(使用鼠标键盘事件实现)// L为横坐标,T为纵坐标。

2025-03-12 19:41:24 694

原创 数据结构--特殊矩阵的压缩存储

每一个非零数据节点都有三个值和两个指针<行,列,值,down(指针),right(指针)>down和right指针分别指向同列和同行的下一个非零数据结点。+(n-1)]+j → 第i(i+1)/2+j个元素(求数组下标时还需要-1)+(n-1)]+j → 第i(i+1)/2+j个元素(求数组下标时还需要-1)(所有在主对角线的元素以及与主对角线元素上下左右相邻的元素,可以是非零元素,其他元素均为0)与对称矩阵相同:上(下)三角矩阵只存储主对角线+上(下)三角区 在最后一个位置存储常量c。

2025-03-10 21:02:36 684

原创 数据结构--栈的应用

依次扫描所有字符,遇到左括号入栈,遇到右括号弹出栈顶元素并检测是否匹配①左括号单身②右括号单身③左右括号不匹配。

2025-03-09 21:26:08 992

原创 数据结构--队列

只允许在一段进行插入,在另一端进行删除的线性表队头(允许被删除的一端)、队尾(允许被插入的一端)、空队列先进先出(FIFO – first in first out)只允许从两端插入、两端删除的线性表双端队列:只允许从两端插入、两端删除的线性表输入受限的双端队列:只允许一端插入、两端删除的线性表输出受限的双端队列:只允许两端插入、一端删除的线性表NOTE]考点:判断输出序列的合法性若数据元素输入序列为1,2,3,4 则哪些输出序列是合法的,哪些是非法的?

2025-03-07 11:16:50 508

原创 数据结构--栈

只允许在一端进行插入或删除操作的线性表栈顶(允许被插入和删除的一端)、栈底(不允许被插入和删除的一段)、空栈后进先出(LIFO – last in first out)10//静态数组存放栈中元素int top;//栈顶指针}SqStack;SqStack S;//声明一个顺序栈(分配空间)//后续操作……}*LiStack;//初始化栈//判断栈空LiStack S;//声明一个顺序栈(分配空间)//初始化一个空栈//后续操作……

2025-03-06 21:50:00 148

原创 数据结构--顺序表vs链表

顺序表与链表都线性表 都是线性结构 各个数据元素之间有一对一的关系。缺点:到i按连续空间分配不方便,改变容量不方便。描述 XXX 和 XXX 的bla bla……表长可预估、查询(搜索)比较多 --顺序表。优点:离散的小空间分配方便,改变容量方便。表长难以估计、经常需要增删 --链表。优点:支持随机存取、存储密度高。缺点:不可随机存取,存储密度低。顺序表 – 顺序存储。

2025-03-04 15:44:40 192

原创 双链表、循环链表和静态链表

分配一整片连续的内存空间,各个节点集中安置数据元素+游标 其中游标充当指针使用 数据元素与游标一一映射10//静态链表的最大长度struct Node{ //静态链表结构类型的定义//存储数据元素int next;//下一个元素的数组下标//数组a作为静态链表//……后续代码10//静态链表的最大长度struct Node{ //静态链表结构类型的定义//存储数据元素int next;//下一个元素的数组下标。

2025-03-04 12:25:50 759

原创 数据结构--单链表

/需要表示一个单链表时 只需要声明一个头指针L 指向单链表的第一个节点LNode *p;LinkList p;//这两段代码都可以实现定义一个指针 但是第二行代码的可读性更强//LNode* 强调这是一个节点指针 LinkList 强调这是一个指向单链表的指针。

2025-03-03 16:58:08 571

openlayers03 - 武汉旅游查询系统

openlayers03 - 武汉旅游查询系统

2025-04-14

操作系统模拟练习题(含答案)

操作系统模拟练习题(含答案),期末考试可用

2024-08-29

重邮2018年801信号试题及答案.pdf

重邮2018年801信号试题及答案.pdf

2024-08-29

重邮2015年801信号试题及答案.pdf

重邮2015年801信号试题及答案.pdf

2024-08-28

重邮2017年801信号试题及答案.pdf

重邮2017年801信号试题及答案.pdf

2024-08-28

重邮2021年801信号试题及答案.pdf

重邮2021年801信号试题及答案.pdf

2024-08-28

空空如也

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

TA关注的人

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