自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构第十三周作业(2)——哈希表

哈希表通常表示为一个数组,其中每个位置(或称为“槽”)存储一个键值对。但由于哈希冲突(即不同的键可能计算出相同的哈希值)的存在,每个槽通常可以进一步链接到一个链表或其他数据结构来存储具有相同哈希值的多个键值对。

2024-06-06 00:50:03 179

原创 数据结构第十三周作业(1)——顺序查找与二分查找

2.顺序查找的优点是简单易懂,不需要对列表进行任何预处理。然而,它的缺点也很明显,即在最坏情况下(当目标元素位于列表的末尾时),需要遍历整个列表,时间复杂度为O(n)。因此,对于大规模数据的查找,顺序查找的效率较低。1.顺序查找是一种非常直观的查找方法,其基本思想是:从列表的一端开始,逐个检查每一个元素,直到找到所需的元素或搜索到列表的另一端为止;

2024-06-06 00:36:09 115

原创 数据结构作业第十一周作业——二叉树的构建与遍历(补充)

二叉树的三种遍历实际上运用到了栈的知识。

2024-06-06 00:07:53 177

原创 数据结构第十二周作业——Prim 算法与Dijkstra 算法

①.Prim算法的主要目的是在加权连通图中找到一棵最小生成树。通过逐步添加权重最小的边,确保最终得到的树的总权重是最小的。在算法的执行过程中,需要维护两个集合:一个集合包含已加入最小生成树的顶点,另一个集合包含尚未加入的顶点。每次选择距离已生成树最近的顶点加入,确保了最小生成树的性质。

2024-05-22 20:21:01 167 1

原创 数据结构第十一周作业(2)——图的遍历&邻接表及广度优先遍历

与邻接矩阵不同,邻接表不会为每一对顶点都分配存储空间,而是仅为图中的每一个顶点分配一个链表(或其他动态集合结构),链表中包含与该顶点相邻的所有顶点。假设我们有一个包含 4 个顶点的无向图,顶点集合为 {A, B, C, D},边集合为 {(A, B), (A, C), (B, C), (C, D)}。假设我们有一个包含 4 个顶点的无向图,顶点集合为 {A, B, C, D},边集合为 {(A, B), (A, C), (B, C), (C, D)}。该图的邻接表可以表示为。列的元素)为 1,否则为 0。

2024-05-22 20:04:19 423 1

原创 数据结构第十一周作业(1)——N后问题

1.这里用到的是回溯算法,是万能解题法;2.通常跟递归一起使用,两者搭配理解;

2024-05-19 16:40:45 174

原创 数据结构第十周作业(2)——二维数组与矩阵乘法&压缩矩阵的转置

3000这个地址储存了rows(行数)、columns(列数),还有一个地址,该地址又指向三个数组,对应三行,每个数组中又有四个数据,对应四列。②.此处代码是按行排序,按列扫描原数组的方式实现的。用空间换时间,时间复杂度会降低,效率提升。①.本处代码使用了双重指针,第一重指针可视为小组组长,而第二重指针可视为各个小组的组员。①.如果是行列单纯调换的话,需要重新排序,增加了时间复杂度;

2024-05-13 17:08:57 218 2

原创 数据结构第十周作业(1)——链队列&循环队列

先认识一下队列,它可以看作是平常排队,先进先出。

2024-05-13 15:59:06 318 2

原创 数据结构第九周作业——栈的应用 -- 括号匹配&累加的递归实现&汉诺塔问题

③.另外如果是求汉诺塔问题移动次数的话,移动n个可以看作先将(n-1)个先挪到C处,再将第n个从A处挪到B处,最后将(n-1)个从C处挪到B处。由于(n-1)个挪动两次,所以f(n) = 2 * f(n-1) + 1,这个递归的实现需要先知道f(1)和f(2)的挪动次数。③.这里可以类似于,给五个人依次安排任务,第一个人计算add(1),第二个人计算add(2)...接着第一个人将自己的答案告诉第二个人,第二个人知道了add(1)后开始执行自己的任务,并将答案告诉第三个人。以此类推,就可以得出最终答案。

2024-04-29 12:59:38 327

原创 数据结构第八周作业——多项式的加法(链表)&栈

②.栈是“后进先出”型,可类似于生活中往罐子里放东西,顶层的是最后放进去也是最先拿出来的。①.此处代码是在原有的两个含多项式的链表上选择一个进行操作,成为多项式相加后的结果;③.同指数相加时需要注意另行判断系数是否为零的情况,系数为零时不要存放在结果里面;②.不建立新的链表存放相加结果时,注意将处理过不需要的节点释放空间;④.通过多项式相加这个应用,能更好理解并熟悉链表操作。①.栈是数据结构中最简单的操作,也是最常用的结构;

2024-04-25 22:43:46 135

原创 数据结构第七周作业——双向链表&静态链表

②.但因为节点结构中增加了一个指针,需要为其分配内存,占据了一定的空间,所以某种情况下会导致空间的浪费;②.有些低级语言没有指针,可以用这个实现单链表的工作,避免用顺序表需要进行大量的操作;③.这里的下标为数组下标,有些地方的下标是位序,这时候就需要进行i-1的操作处理。①.用这个可以实现部分malloc函数内容,便于清晰理解其在计算机内如何工作;③.由于新加了一个指针,所以在进行插入删除操作时,操作的步骤增加,容易出错。①.双向链表可以进行反向查询,在某种情况下非常便捷;

2024-04-22 10:29:43 219

原创 数据结构第六周作业——单链表

【代码】数据结构第六周作业——单链表。

2024-04-08 17:53:17 261

原创 数据结构第五周作业——顺序表

【代码】数据结构第五周作业。

2024-04-06 19:27:31 269

空空如也

空空如也

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

TA关注的人

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