<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fengbinbin6310的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fengbinbin6310</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fengbinbin6310]]></copyright><item><title><![CDATA[5/111]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130632539</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130632539</guid><author>fengbinbin6310</author><pubDate>Thu, 11 May 2023 22:59:32 +0800</pubDate><description><![CDATA[如果是，则该函数返回 str1字符串从 str2第一次出现的位置开始到 str1结尾的字符串；给定一个二进制字符串 s 和一个正整数 n，如果对于 [1, n] 范围内的每个整数，其二进制表示都是 s 的 子字符串 ，就返回 true，否则返回 false。且包含n个节点的哈夫曼树要经过n-1次合并才能得到哈夫曼树。输入：s = "0110", n = 3输出：true。小注意：哈夫曼树中的节点度数为0或2，并没有1。包含n个叶子节点的哈夫曼树一共有2n-1个节点。子字符串 是字符串中连续的字符序列。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130611185</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130611185</guid><author>fengbinbin6310</author><pubDate>Wed, 10 May 2023 22:22:26 +0800</pubDate><description><![CDATA[函数的返回值为最小循环长度，如果无法被K整除，则返回-1，表示不存在符合条件的数字序列。它的核心思想是利用哈希函数将关键字映射到数组的某个位置上，使得查找和插入的时间复杂度接近O(1)。首先定义一个哈希表结构体，其中包含两个成员：一是数组buckets用来存储哈希表中的元素，二是size表示buckets中元素的数量。给定正整数 k ，你需要找出可以被 k 整除的、仅包含数字 1 的最 小 正整数 n 的长度。输入：k = 1输出：1解释：最小的答案是 n = 1，其长度为 1。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130590196</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130590196</guid><author>fengbinbin6310</author><pubDate>Tue, 09 May 2023 22:19:11 +0800</pubDate><description><![CDATA[具体实现方式为，枚举任意两个顶点，如果它们之间没有直接边相连，则它们之间的距离为它们通过中转点连接时的距离（即通过中转点到达另外一个顶点的距离加上两个顶点之间的距离）。如果它们之间已经有直接边相连，则它们之间的距离为它们之间的边权值。在实现中，首先对每个顶点到源点的距离进行初始化，然后选择一个距离源点最近的未确定最短路径的顶点，逐步扩大已确定最短路径的范围。首先将所有顶点之间的距离初始化为正无穷大（表示未知），然后将自身到自身的距离初始化为 0，将所有有直接边相连的顶点之间的距离初始化为它们之间的边权值。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130568596</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130568596</guid><author>fengbinbin6310</author><pubDate>Mon, 08 May 2023 22:16:01 +0800</pubDate><description><![CDATA[状态转移方程描述了子问题与原问题之间的关系，是从子问题的最优解推导出原问题的最优解的公式。最长递增子序列问题是一个经典的动态规划问题，其目标是在一个无序的序列中，求解最长的递增子序列。例如序列 [1, 3, 2, 4, 5, 7, 6] 的最长递增子序列是 [1, 2, 4, 5, 7]，长度为 5。具有最优子结构的问题有很多，例如背包问题、图的最短路径问题等。输入：nums = [-2,1,-3,4,-1,2,1,-5,4]输出：6解释：连续子数组 [4,-1,2,1] 的和最大，为 6。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130549057</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130549057</guid><author>fengbinbin6310</author><pubDate>Sun, 07 May 2023 22:23:40 +0800</pubDate><description><![CDATA[输入：time = [30,20,150,100,40]输出：3解释：这三对的总持续时间可被 60 整除：(time[0] = 30, time[2] = 150): 总持续时间 180(time[1] = 20, time[3] = 100): 总持续时间 120(time[1] = 20, time[4] = 40): 总持续时间 60。余数为 00 的歌曲。歌曲对的数量为 \textit{cnt}[0] \times (\textit{cnt}[0]-1)/2cnt[0]×(cnt[0]−1)/2。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130517446</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130517446</guid><author>fengbinbin6310</author><pubDate>Fri, 05 May 2023 23:46:15 +0800</pubDate><description><![CDATA[链式存储结构：因为图很难确定有几个指针，所以难以用链表表示，故采用多重链表（邻接表，邻接多重表，十字链表）分析其二：顶点i的度即为第i行和i列的“1”的个数，如果是无向图就只要考虑每一行“1”的个数。图的邻接矩阵为一个二维数组，设为A.arcs【i】【j】（理解为两个顶点之间的关系）图没有顺序存储结构，但可以用二维数组来表示元素之间的关系（邻接矩阵）顶点表Vexs【n】就建立n个元素的数组存放n个顶点。如果存在一条弧或者一条边，则矩阵中记录【i】【j】为1。分析其一：无向图的邻接矩阵是对称的。]]></description><category></category></item><item><title><![CDATA[22/7.]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130496441</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130496441</guid><author>fengbinbin6310</author><pubDate>Thu, 04 May 2023 22:09:44 +0800</pubDate><description><![CDATA[输入：fruits = [[0,9],[4,1],[5,7],[6,2],[7,4],[10,9]], startPos = 5, k = 4输出：14解释：可以移动最多 k = 4 步，所以无法到达位置 0 和位置 10。输入：fruits = [[2,8],[6,3],[8,6]], startPos = 5, k = 4输出：9解释：最佳路线为：- 向右移动到位置 6 ，摘到 3 个水果- 向右移动到位置 8 ，摘到 6 个水果移动 3 步，共摘到 3 + 6 = 9 个水果。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130414650</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130414650</guid><author>fengbinbin6310</author><pubDate>Thu, 27 Apr 2023 21:47:28 +0800</pubDate><description><![CDATA[若边（u，v）是一条具有最小权值的边，其中u属于U，v属于V-U，则必然存在一颗包含（u，v）的最小生成树。给定一个无相网络，在该网的所有生成树中，使得各边权值之和最小的那颗生成树成为该网的最小生成树，也叫最小代价树。生成树有很多种算法实现，比如常用的深度优先搜索（DFS）和广度优先搜索（BFS）等。然后就在U中顶点和V-U中顶点的边中选权值最小的边。3.一个有n个顶点的连通图的生成树有n-1条边。1.生成树的顶点个数与图的顶点个数相同。2.尚未落到生成树上的顶点集：V-U。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130395531</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130395531</guid><author>fengbinbin6310</author><pubDate>Wed, 26 Apr 2023 22:01:15 +0800</pubDate><description><![CDATA[BFS（Breadth-First Search）又称广度优先搜索，是一种基于图的遍历算法，它从指定的起始节点开始遍历图，依次访问其相邻的节点，直到遍历完整个图为止。接着找到与该节点相邻的未被访问的节点中的一个，继续以该节点为起始节点进行深度优先搜索。从已给的联通图中某顶点出发，沿着一些边访遍图中的所有顶点，并且每个顶点仅仅被访问一次，叫做图的遍历，是图的基本运算。图中可能存在回路，且图的任一顶点都有可能与其他顶点联通，在访问完某点之后可能会沿边回到曾经访问过的节点。*顶点被访问后置为1，避免重复访问。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130375086</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130375086</guid><author>fengbinbin6310</author><pubDate>Tue, 25 Apr 2023 21:59:58 +0800</pubDate><description><![CDATA[此时油箱有 = 0 + 4 = 4 升汽油开往 4 号加油站，此时油箱有 4 - 1 + 5 = 8 升汽油开往 0 号加油站，此时油箱有 8 - 2 + 1 = 7 升汽油开往 1 号加油站，此时油箱有 7 - 3 + 2 = 6 升汽油开往 2 号加油站，此时油箱有 6 - 4 + 3 = 5 升汽油开往 3 号加油站，你需要消耗 5 升汽油，正好足够你返回到 3 号加油站。两个数组的长度均为 n。今日的沙雕题目，自己给自己整蒙圈了，一开始就想用选排，但老师通不过，发现自己忘漏了一个赋值点，。]]></description><category></category></item><item><title><![CDATA[23/4/24]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130353965</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130353965</guid><author>fengbinbin6310</author><pubDate>Mon, 24 Apr 2023 22:39:53 +0800</pubDate><description><![CDATA[今天跟王卓的视频把哈夫曼树细过了一遍，还有应用场景没看完，线代就要结课考试了，觉得有必要多费点心思在上面，之后边学Java边巩固数据结构的知识。2.在F中选取两颗根节点的权值最小的树作为左右子树，构造成一颗新的二叉树，且设置新的二叉树的根节点的权值为其左右子树上的根节点的权值之和。“带权路径长度最短”是在“度相同”的树中比较而得到的结果，因此有最优二叉树，最优三叉树之城等。且包含n个节点的哈夫曼树要经过n-1次合并才能得到哈夫曼树。树的构成自我理解为：权值大的离树根近，权值小的离树根远。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130233560</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130233560</guid><author>fengbinbin6310</author><pubDate>Sun, 23 Apr 2023 23:31:37 +0800</pubDate><description><![CDATA[即：为了使得某串二进制数据的编码后所占用的空间最小，应该将出现频率最高的数据编码长度最短，而出现频率低的数据编码长度较长，保证编码后的总体长度最短。2.选择出现频率最小的两个节点，合并成一个新的节点，频率等于两个子节点的频率之和；节点的带权路径长度：从根节点到该节点之间的路径长度与该节点的权的乘积。权：将树中的节点赋给一个含有某种意义的值，则称这个树脂为节点的权。路径：从树中一个节点到另一个节点的分支构成这两个节点的路径。树的带权路径长度：树中所有叶子节点的带权的路径长度之和。]]></description><category></category></item><item><title><![CDATA[超市管理系统（入门）]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130312306</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130312306</guid><author>fengbinbin6310</author><pubDate>Sat, 22 Apr 2023 23:13:39 +0800</pubDate><description><![CDATA[今天将管理系统的功能都实现了，在一直找毛病并修改毛病，现在已经基本完善。8.退出系统会更新文件内容，下次打开就是修改后的内容。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130298580</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130298580</guid><author>fengbinbin6310</author><pubDate>Fri, 21 Apr 2023 23:01:20 +0800</pubDate><description><![CDATA[strtok找到字符串中的一个标记，用‘\0’结尾，并且返回一个指向这个标记的指针；函数来检测），直到遇上数字或正负符号才开始做转换，而再遇到非数字或字符串结束时(’\0’)才结束转换，并将结果返回。应用于项目中，先从已经创建的文件中读取数据到树中，最后在将已修改的数据用“w”的方式打开文件并存入其中。注意：这几个函数会扫描参数 str 字符串，跳过前面的空白字符（例如空格，tab缩进等，可以通过。以上几个函数：str 为要转换的字符串，endstr 为第一个不能转换的字符的指针。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130278183</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130278183</guid><author>fengbinbin6310</author><pubDate>Thu, 20 Apr 2023 23:38:30 +0800</pubDate><description><![CDATA[今天茶花会，感觉前辈们对自己的未来发展的方向感都比较明确，对这个专业都有较强烈的认知。我感觉自己对代码的兴趣并不是很强烈的，更想学3dmax，以及pr，ae之类的技能，对视频剪辑更感兴趣。但目前还是得加强自己的专业知识，以及学习能力。例如输入1 之后就清贫然后输入编号查寻。注意：在删除节点中删除有左右节点的节点。现在还在对子函数进行完善实现，。2.左子树的所有节点都小于根节点。3.右子树的所有节点都大于根节点。4.每个节点左右子树也是BST。1.BST首先是一颗二叉树。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130254584</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130254584</guid><author>fengbinbin6310</author><pubDate>Wed, 19 Apr 2023 23:03:34 +0800</pubDate><description><![CDATA[今天想对物品进行一次线索二叉树的存储，但感觉还是理解不够，插入和删除涉及到前驱和后驱，并且每次都需要进行一次更新并线索化，写的云里雾里。这是一个对线索二叉树进行构建以及增删的C语言代码，对它理了好久人都麻了，应用于系统中维护起来效率反而更低效。感觉超市系统只能利用双向链表进行一个建立；网上也很少有关线索二叉树的一个增删操作，因其操作繁琐，只适合对已存数据进行线索化然后进行遍历查找。格式上还要对其进行修改，将输出全部放到子函数中，并将树存储改为双向链表存储，麻了，想换个项目搞了。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130233417</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130233417</guid><author>fengbinbin6310</author><pubDate>Tue, 18 Apr 2023 23:07:11 +0800</pubDate><description><![CDATA[如果只是在原二叉树的基础上利用空结点，那么就存在着这么一个问题：我们如何知道某一结点的lchild是指向他的左孩子还是指向前驱结点？现在在跟王卓老师的课对线索二叉树进行详细学习，看到文件操作感觉又不太熟悉了，还要对文件知识在次进行复习，并构思如何将物品存入二叉树实现，以及管理系统的一个界面实现还较模糊。二叉树是通过遍历寻找目标节点，比较的费时间，而线索二叉树是将某些节点的空指针改为指向前驱或后继节点的线索，使得遍历时不需要通过递归或栈来完成。RTag为0是指向该结点的右孩子，为1时指向该结点的后继。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130211661</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130211661</guid><author>fengbinbin6310</author><pubDate>Mon, 17 Apr 2023 23:55:58 +0800</pubDate><description><![CDATA[例如，序列 {1,2,3,4,5} 是某栈的压栈序列，序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列，但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。输出：true解释：我们可以按以下顺序执行：push(1), push(2), push(3), push(4), pop() -> 4,push(5), pop() -> 5, pop() -> 3, pop() -> 2, pop() -> 1。//定义节点结构体，包含指向左右子树的指针、节点数据、以及是否为线索的标记。]]></description><category></category></item><item><title><![CDATA[笔记：单调栈]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130191180</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130191180</guid><author>fengbinbin6310</author><pubDate>Mon, 17 Apr 2023 00:45:20 +0800</pubDate><description><![CDATA[突然有一天xx学姐研究起了这些柱子，如果用柱状图来表示这些柱子，在该柱状图中，能够形成的矩形的最大面积是多少呢？单调栈解法就是通过单调栈找到某一条柱子左右两边第一个小于它的柱子的下标，以此来计算当该条柱子位最短边时的最大矩阵的大小，当我们找遍了所有的柱子之后，也就覆盖了所有取得最小的可能情况。此时，除了初始化的-1外还有1,4,5三个元素没有出栈，那么只要最后都用0来作为它的右值那么就可以将它们全部出栈了。理解为将每个元素的下标进行入栈和出栈，计算时可以直接作为底的长度使用。以下图解来自：逗比克星。]]></description><category></category></item><item><title><![CDATA[笔记：单调队列]]></title><link>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130177970</link><guid>https://blog.youkuaiyun.com/fengbinbin6310/article/details/130177970</guid><author>fengbinbin6310</author><pubDate>Sun, 16 Apr 2023 00:53:56 +0800</pubDate><description><![CDATA[（2）先删后插：当新元素大于尾结点时，那就直接删除队尾元素（因为它已经没可能成为最大值了），就直接tail--，从队尾出队。一直删除，直到对空或者遇到一个大于它的值，插入在他后面（++tail）（1）：直接插入：新元素小于队尾元素时就直接从尾插入即可（这里用的是递减）（tail++）；1.队头出队：当队头的元素从窗口滑出是，队头元素出队。注意：队列要存储窗口元素的下标值，以便于判断队头的一个出队。单调队列：队列内的元素值是单调的，递增或者递减。例如，队头的9要滑出窗口，那么就直接pass它。]]></description><category></category></item></channel></rss>