自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 问答 (1)
  • 收藏
  • 关注

原创 学习日历day04 用分治法实现3个实践问题

思想:设计一个函数,随机寻找一个基准元素,运用快速排序(这里用了将随机基准元素与最后一个元素交换,其他元素不断交换后,直到l==r,将最后一个元素的位置与此时的l交换,便实现了比基准元素小的在其左边,大的在其右边),使得小于该基准元素的元素位于左边,大于该基准元素的元素位于右边,返回该基准元素的位置。思想:不断把列表切分为两个,找到每个小列表当中第一大元素与第二大元素,再将两个小列表合并比较,找到大列表的第一大元素与第二大元素,返回第一大元素与第二大元素。当列表元素个数为1时返回该元素。

2024-12-16 21:47:09 283

原创 学习日历day08 动态规划-最优二叉搜索树

内层循环 for root in range(i, j + 1):对于每个确定的子树范围(由 i 和 j 确定,其中 j = i + length - 1),尝试不同的根节点 root。然后取两种情况中的较小值,便是我们要求的数。我们再来填一填其他的,举个例子,求出d【1,2】的最小值,可知,当根节点为2的时候能得到最小值,在表格内记录下最小值与该最小值的根节点的位置。​​再举一个例子,以下为n=3的求解,可以发现,当n越大时我们要列举的可能性越来越多,那么,怎么样才能更快速地找到最优二叉树的排列情况呢?

2024-12-01 16:00:35 628

原创 学习日历day07 动态规划-矩阵连乘问题(笔记)

以下为观看b站up四七777777的动态规划 矩阵连乘问题视频后做的相关笔记,有不懂的uu可以上b站观看相关视频。

2024-11-23 17:16:07 1129

原创 学习日历day06 动态规划01背包问题(笔记)

01背包问题:你需要从一系列物品中选择一部分物品放入背包。但是,你的背包容量有限,假设背包容量是8,你只能装下重量(weight)和小于等于8的物品。每件物品都有两个属性:重量(weight)和价值(value)。目标是在不超过背包最大承重的前提下,选择物品使得总价值最大。通常,我们可能会想,选择性价比较高的物品装入背包(性价比=value/weight),但是往往实际情况并非装性价比最高物品就能得到最优解。比如:物品a:重量为5,价值为10;物品b:重量为4,价值为5;

2024-11-21 22:52:33 1094

原创 先序、中序、后序、层序遍历(递归与非递归)代码实现

不管是递归还是非递归,树的结构都是有根节点,左子节点,右子节点构成,注意:这里的左子节点,右子节点在下一次循环也可以作为根节点。我们可以用以下递归/循环的思路,以前序遍历为例,我们可以将思路简化,每次只实现当前节点的打印,用递归或循环,将整棵树按照根节点,左子节点,右子节点访问顺序打印出来。

2024-11-20 18:24:10 519

原创 HTML、CSS网页制作常见问题(笔记01)

昨天做仿京东html网页的时候发现一些理解误区,做个笔记记录一下~

2024-11-16 15:53:42 762

原创 学习日历day05 动态规划及最小编辑距离的应用(笔记)

给一个数组要求找出最长递增子序列长度我们常用暴力枚举法来实现寻找最长子序列,并总是记录下最长序列长度。

2024-11-12 17:54:21 746

原创 html\css 网页立体转动盒子效果

用html、css实现转动盒子效果

2024-11-09 11:14:12 413

原创 学习日历day03 分治法-归并排序(非递归版)

left = 0,mid = min(0 + 8 - 1, 11) = 7,right = min(2 * 8 + 0 - 1, 11) = 11 处理 [33,43,2,5,24,3,73,86,45,23,97,100,8] 并合并。left = 0,mid = min(0 + 4 - 1, 11) = 3,right = min(2 * 4 + 0 - 1, 11) = 7 处理 [33,43,2,5,24,3,73,86] 并合并。第二次循环: left 从0开始,每次处理两个大小为2的子数组。

2024-11-08 19:41:14 422

原创 学习日历day02 分治法-归并排序(递归版)

在二叉树的后序遍历中,我们首先访问左子树,然后访问右子树,最后访问根节点。而在归并排序的合并阶段,也是先处理(或说排序)左边的部分,再处理右边的部分,最后合并这两个已经排序好的部分。简而言之,归并排序的分解过程像是从根到叶子节点的前序遍历,而其合并过程则类似于从叶子节点回到根节点的后序遍历。不过需要注意的是,这只是从操作顺序上的一种类比,并不是严格意义上的相同,因为归并排序涉及的具体。归并排序:持续分割区间,直到剩下最后一个节点,在归并排序的过程中,数组的分割可以看作是在构建一棵二叉树。

2024-11-08 00:46:55 307

原创 学习日历day01 分治法-快速排序

当递归进入下一轮时,由于left始终停在比key小的位置,所以在right- -的过程中,当遇到left此时一定会停下,此时left=right,退出循环(就上图而言)后面的小人先出发,因为最后定点位置需要与第一个元素交换,所以一定要比第一个元素小,所以后面的小人先走(单从此图出发)将key的位置与right交换,返回right(key的位置),接着进行递归,下一次递归时,将数组缩小了一半,且不包含key。左边为key,右边先走(最后定住的值一定小于key),相遇值比key小。当left=right。

2024-11-06 20:22:10 385

空空如也

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

TA关注的人

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