<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>算法 on 里列昂遗失的记事本</title><link>https://blog.overfit.org/tags/%E7%AE%97%E6%B3%95/</link><description>Recent content in 算法 on 里列昂遗失的记事本</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 11 Nov 2022 11:14:00 +0800</lastBuildDate><atom:link href="https://blog.overfit.org/tags/%E7%AE%97%E6%B3%95/index.xml" rel="self" type="application/rss+xml"/><item><title>插值</title><link>https://blog.overfit.org/posts/2022-11-11-16879954-%E6%8F%92%E5%80%BC/</link><pubDate>Fri, 11 Nov 2022 11:14:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-11-11-16879954-%E6%8F%92%E5%80%BC/</guid><description>插值法定义 设函数在区间上有定义，且已知在点的值若存在一简单函数使得成立，就称为的插值函数，点称为插值区间，上式称为插值条件，求插值函数的方法称为插值法。若为次数不超过的代数多项式，即其中为实数，就称为插值多项式，相应的插值法称为多项式插值。若为分段多项式，就是分段插值。若为三角</description></item><item><title>利用vector实现的基于数组的线性表</title><link>https://blog.overfit.org/posts/2022-05-28-16321623-%E5%88%A9%E7%94%A8vector%E5%AE%9E%E7%8E%B0%E7%9A%84%E5%9F%BA%E4%BA%8E%E6%95%B0%E7%BB%84%E7%9A%84%E7%BA%BF%E6%80%A7%E8%A1%A8/</link><pubDate>Sat, 28 May 2022 18:58:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-05-28-16321623-%E5%88%A9%E7%94%A8vector%E5%AE%9E%E7%8E%B0%E7%9A%84%E5%9F%BA%E4%BA%8E%E6%95%B0%E7%BB%84%E7%9A%84%E7%BA%BF%E6%80%A7%E8%A1%A8/</guid><description>#include&amp;lt;iostream&amp;gt; #include&amp;lt;vector&amp;gt; #include&amp;lt;sstream&amp;gt; using namespace std; class illegalParameterValue { public: illegalPa</description></item><item><title>动态数组（C++）</title><link>https://blog.overfit.org/posts/2022-05-26-16315151-%E5%8A%A8%E6%80%81%E6%95%B0%E7%BB%84c/</link><pubDate>Thu, 26 May 2022 20:44:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-05-26-16315151-%E5%8A%A8%E6%80%81%E6%95%B0%E7%BB%84c/</guid><description>#include&amp;lt;iostream&amp;gt; #include &amp;lt;sstream&amp;gt; #include&amp;lt;iterator&amp;gt; #include&amp;lt;algorithm&amp;gt; using namespace std; // 重写copy代码 templa</description></item><item><title>一元多项式的乘法与加法运算</title><link>https://blog.overfit.org/posts/2022-05-18-16286177-%E4%B8%80%E5%85%83%E5%A4%9A%E9%A1%B9%E5%BC%8F%E7%9A%84%E4%B9%98%E6%B3%95%E4%B8%8E%E5%8A%A0%E6%B3%95%E8%BF%90%E7%AE%97/</link><pubDate>Wed, 18 May 2022 20:23:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-05-18-16286177-%E4%B8%80%E5%85%83%E5%A4%9A%E9%A1%B9%E5%BC%8F%E7%9A%84%E4%B9%98%E6%B3%95%E4%B8%8E%E5%8A%A0%E6%B3%95%E8%BF%90%E7%AE%97/</guid><description>一元多项式的乘法与加法运算 设计函数分别求两个一元多项式的乘积与和 输入格式 输入分2行，每行分别先给出多项式非零项的个数，再以指数递降方式输入一个多项式非零项系数和指数（绝对值均为不超过1000的整数）。数字间以空格分隔。 输出格式 输出分2行，分别以指数递降方式输出乘积多项式</description></item><item><title>二叉搜索树的操作集</title><link>https://blog.overfit.org/posts/2022-04-22-16180479-%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%93%8D%E4%BD%9C%E9%9B%86/</link><pubDate>Fri, 22 Apr 2022 20:51:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-04-22-16180479-%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%93%8D%E4%BD%9C%E9%9B%86/</guid><description>二叉搜索树的操作集 本题要求实现给定二叉搜索树的5种常用操作 函数接口定义 BinTree Insert( BinTree BST, ElementType X ); BinTree Delete( BinTree BST, ElementType X ); Position F</description></item><item><title>二分查找</title><link>https://blog.overfit.org/posts/2022-04-20-16171621-%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE/</link><pubDate>Wed, 20 Apr 2022 20:31:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-04-20-16171621-%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE/</guid><description>二分查找 本题要求实现二分查找算法。 函数接口定义 Position BinarySearch( List L, ElementType X ); 其中List结构定义如下： typedef int Position; typedef struct LNode *List; st</description></item><item><title>在一个数组中实现两个堆栈</title><link>https://blog.overfit.org/posts/2022-04-19-16167616-%E5%9C%A8%E4%B8%80%E4%B8%AA%E6%95%B0%E7%BB%84%E4%B8%AD%E5%AE%9E%E7%8E%B0%E4%B8%A4%E4%B8%AA%E5%A0%86%E6%A0%88/</link><pubDate>Tue, 19 Apr 2022 22:01:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-04-19-16167616-%E5%9C%A8%E4%B8%80%E4%B8%AA%E6%95%B0%E7%BB%84%E4%B8%AD%E5%AE%9E%E7%8E%B0%E4%B8%A4%E4%B8%AA%E5%A0%86%E6%A0%88/</guid><description>在一个数组中实现两个堆栈 本题要求在数组中实现两个堆栈 函数接口定义 Stack CreateStack( int MaxSize ); bool Push( Stack S, ElementType X, int Tag ); ElementType Pop( Stack S,</description></item><item><title>带头结点的链式表操作集</title><link>https://blog.overfit.org/posts/2022-04-16-16154455-%E5%B8%A6%E5%A4%B4%E7%BB%93%E7%82%B9%E7%9A%84%E9%93%BE%E5%BC%8F%E8%A1%A8%E6%93%8D%E4%BD%9C%E9%9B%86/</link><pubDate>Sat, 16 Apr 2022 22:12:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-04-16-16154455-%E5%B8%A6%E5%A4%B4%E7%BB%93%E7%82%B9%E7%9A%84%E9%93%BE%E5%BC%8F%E8%A1%A8%E6%93%8D%E4%BD%9C%E9%9B%86/</guid><description>带头结点的链式表操作集 本题要求实现带头结点的链式表操作集 函数接口定义 Position Find( List L, ElementType X ); List Insert( List L, ElementType X, Position P ); List Delete(</description></item><item><title>链式表操作集</title><link>https://blog.overfit.org/posts/2022-04-16-16152353-%E9%93%BE%E5%BC%8F%E8%A1%A8%E6%93%8D%E4%BD%9C%E9%9B%86/</link><pubDate>Sat, 16 Apr 2022 11:48:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-04-16-16152353-%E9%93%BE%E5%BC%8F%E8%A1%A8%E6%93%8D%E4%BD%9C%E9%9B%86/</guid><description>链式表操作集 本题要求实现链式表的操作集 函数接口定义 Position Find( List L, ElementType X ); List Insert( List L, ElementType X, Position P ); List Delete( List L, P</description></item><item><title>链式表的按序号查找</title><link>https://blog.overfit.org/posts/2022-04-15-16150684-%E9%93%BE%E5%BC%8F%E8%A1%A8%E7%9A%84%E6%8C%89%E5%BA%8F%E5%8F%B7%E6%9F%A5%E6%89%BE/</link><pubDate>Fri, 15 Apr 2022 19:37:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-04-15-16150684-%E9%93%BE%E5%BC%8F%E8%A1%A8%E7%9A%84%E6%8C%89%E5%BA%8F%E5%8F%B7%E6%9F%A5%E6%89%BE/</guid><description>链式表的按序号查找 本题要求实现一个函数，找到并返回链式表的第K个元素、 函数接口定义 ElementType FindKth( List L, int K ); 其中List结构定义如下： typedef struct LNode *PtrToLNode; struct LNo</description></item><item><title>求链式表的表长</title><link>https://blog.overfit.org/posts/2022-04-15-16149628-%E6%B1%82%E9%93%BE%E5%BC%8F%E8%A1%A8%E7%9A%84%E8%A1%A8%E9%95%BF/</link><pubDate>Fri, 15 Apr 2022 16:07:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-04-15-16149628-%E6%B1%82%E9%93%BE%E5%BC%8F%E8%A1%A8%E7%9A%84%E8%A1%A8%E9%95%BF/</guid><description>求链式表的表长 本题要求实现一个函数，求链式表的表厂。 函数式接口定义 int Length( List L ); 其中List结构定义如下： typedef struct LNode *PtrToLNode; struct LNode { ElementType Data; P</description></item><item><title>顺序表操作集</title><link>https://blog.overfit.org/posts/2022-04-15-16149542-%E9%A1%BA%E5%BA%8F%E8%A1%A8%E6%93%8D%E4%BD%9C%E9%9B%86/</link><pubDate>Fri, 15 Apr 2022 15:55:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-04-15-16149542-%E9%A1%BA%E5%BA%8F%E8%A1%A8%E6%93%8D%E4%BD%9C%E9%9B%86/</guid><description>顺序表操作集 本题要求实现顺序表的操作集 函数接口定义 List MakeEmpty(); Position Find( List L, ElementType X ); bool Insert( List L, ElementType X, Position P ); bool</description></item><item><title>分治法求解x的n次方</title><link>https://blog.overfit.org/posts/2022-04-08-16116915-%E5%88%86%E6%B2%BB%E6%B3%95%E6%B1%82%E8%A7%A3x%E7%9A%84n%E6%AC%A1%E6%96%B9/</link><pubDate>Fri, 08 Apr 2022 14:44:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-04-08-16116915-%E5%88%86%E6%B2%BB%E6%B3%95%E6%B1%82%E8%A7%A3x%E7%9A%84n%E6%AC%A1%E6%96%B9/</guid><description>Divide-and-conquer algorithm in multiplication [ x^n=xcdot xcdot xcdots x ] 时间复杂度为O(n)，有n-1个乘法 [ x^n=x^frac n2cdot x^frac n2qquadmbox{if x</description></item><item><title>二叉搜索树实现</title><link>https://blog.overfit.org/posts/2022-04-01-16088688-%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E5%AE%9E%E7%8E%B0/</link><pubDate>Fri, 01 Apr 2022 19:41:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-04-01-16088688-%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E5%AE%9E%E7%8E%B0/</guid><description>BinarySearchTree #include&amp;lt;stdlib.h&amp;gt; #include&amp;lt;malloc.h&amp;gt; #include&amp;lt;stdio.h&amp;gt; struct TreeNode; typedef struct TreeNode *Positio</description></item><item><title>一元多项式加法与乘法</title><link>https://blog.overfit.org/posts/2022-03-06-15973112-%E4%B8%80%E5%85%83%E5%A4%9A%E9%A1%B9%E5%BC%8F%E5%8A%A0%E6%B3%95%E4%B8%8E%E4%B9%98%E6%B3%95/</link><pubDate>Sun, 06 Mar 2022 19:25:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-03-06-15973112-%E4%B8%80%E5%85%83%E5%A4%9A%E9%A1%B9%E5%BC%8F%E5%8A%A0%E6%B3%95%E4%B8%8E%E4%B9%98%E6%B3%95/</guid><description>一元多项式的加法与乘法运算 题意理解 设计函数分别求两个一元多项式的乘积与和 求解思路 多项式表示 程序框架 读多项式 加法实现 乘法实现 多项式输出 多项式的表示 仅表示非零项 数组 编程简单、调试容易 需要事先确定数组大小 一种比较好的实现方法是：动态数组 链表 动态性强 编</description></item><item><title>队列</title><link>https://blog.overfit.org/posts/2022-03-04-15966117-%E9%98%9F%E5%88%97/</link><pubDate>Fri, 04 Mar 2022 21:00:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-03-04-15966117-%E9%98%9F%E5%88%97/</guid><description>队列 队列（Queue）：具有一定操作约束的线性表 插入和删除操作：只能在一端插入，而在另一端删除 数据插入：入队（AddQ） 数据删除：出队列（DeleteQ） 先来先服务 先进先出：FIFO 类型名称：队列（Queue） 数据对象集：一个有0个或多个元素的有穷线性表 操作集：</description></item><item><title>堆栈</title><link>https://blog.overfit.org/posts/2022-03-04-15965852-%E5%A0%86%E6%A0%88/</link><pubDate>Fri, 04 Mar 2022 19:42:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-03-04-15965852-%E5%A0%86%E6%A0%88/</guid><description>堆栈 堆栈的抽象数据类型描述 类型名称：堆栈（Stack） 对象数据集：一个有0个或多个元素的有穷线性表 操作集：长度为MaxSize的堆栈，堆栈元素 Stack CreateStack(int MaxSize)：生成空堆栈，其最大长</description></item><item><title>广义表</title><link>https://blog.overfit.org/posts/2022-03-02-15954692-%E5%B9%BF%E4%B9%89%E8%A1%A8/</link><pubDate>Wed, 02 Mar 2022 13:33:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-03-02-15954692-%E5%B9%BF%E4%B9%89%E8%A1%A8/</guid><description>广义表 广义表是线性表的推广； 对于线性表而言，n个元素都是基本的单元素； 广义表中，这些元素不仅可以是单元素也可以是另一个广义表； typedef struct GNode *GList; struct GNode{ int Tag; //标志域：0表示结点是单元素，1表示结点</description></item><item><title>线性表</title><link>https://blog.overfit.org/posts/2022-03-02-15954589-%E7%BA%BF%E6%80%A7%E8%A1%A8/</link><pubDate>Wed, 02 Mar 2022 12:59:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-03-02-15954589-%E7%BA%BF%E6%80%A7%E8%A1%A8/</guid><description>线性表 什么是线性表 “线性表（Linear List）”：由同类型数据元素构成有序序列的线性结构 表中元素个数称为线性表的长度 线性表没有元素时，称为空表 表起始位置称表头，表结束位置称表尾 线性表的抽象数据类型描述 类型名称：线性表 数据对象集：线性表是n(ge0)(个元素构</description></item><item><title>非线性规划</title><link>https://blog.overfit.org/posts/2022-01-18-15819659-%E9%9D%9E%E7%BA%BF%E6%80%A7%E8%A7%84%E5%88%92/</link><pubDate>Tue, 18 Jan 2022 20:23:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-01-18-15819659-%E9%9D%9E%E7%BA%BF%E6%80%A7%E8%A7%84%E5%88%92/</guid><description>非线性规划 飞行管理问题 在约 10，000m 高空的某边长 160km 的正方形区域内，经常有若干架飞机作水平 飞行。区域内每架飞机的位置和速度向量均由计算机记录其数据，以便进行飞行管理。 当一架欲进入该区域的飞机到达区域边缘时，记录其数据后，要立即计算并判断是否会 与区域内的</description></item><item><title>用python实现线性规划</title><link>https://blog.overfit.org/posts/2022-01-16-15811514-%E7%94%A8python%E5%AE%9E%E7%8E%B0%E7%BA%BF%E6%80%A7%E8%A7%84%E5%88%92/</link><pubDate>Sun, 16 Jan 2022 22:24:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2022-01-16-15811514-%E7%94%A8python%E5%AE%9E%E7%8E%B0%E7%BA%BF%E6%80%A7%E8%A7%84%E5%88%92/</guid><description>用Python实现线性规划 使用python库中scipy中的函数linprog来求解线性规划 linprog函数中线性规划的标准形式为 [ min c^Tx s.tleft{begin{aligned}Auqcdot x&amp;amp;le b Aeqcdot x&amp;amp;=beq</description></item><item><title>极值充分条件</title><link>https://blog.overfit.org/posts/2021-12-11-15674879-%E6%9E%81%E5%80%BC%E5%85%85%E5%88%86%E6%9D%A1%E4%BB%B6/</link><pubDate>Sat, 11 Dec 2021 10:53:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-12-11-15674879-%E6%9E%81%E5%80%BC%E5%85%85%E5%88%86%E6%9D%A1%E4%BB%B6/</guid><description>极值充分条件 设二元函数在点的某邻域上具有二阶连续偏导数，且是的稳定点。则当是正定矩阵时，在点处取得极小值；当是负定矩阵时，在点处取得极大值；当H_f(P_0)</description></item><item><title>阻尼牛顿法（Python实现）</title><link>https://blog.overfit.org/posts/2021-11-07-15521099-%E9%98%BB%E5%B0%BC%E7%89%9B%E9%A1%BF%E6%B3%95python%E5%AE%9E%E7%8E%B0/</link><pubDate>Sun, 07 Nov 2021 18:09:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-11-07-15521099-%E9%98%BB%E5%B0%BC%E7%89%9B%E9%A1%BF%E6%B3%95python%E5%AE%9E%E7%8E%B0/</guid><description>阻尼牛顿法（Python实现） 使用牛顿方向，分别使用Armijo准则和Wolfe准则来求步长 求解方程 的极小值 import numpy as np import tensorflow as tf def fun(x):</description></item><item><title>最速下降法（Python实现）</title><link>https://blog.overfit.org/posts/2021-11-07-15521082-%E6%9C%80%E9%80%9F%E4%B8%8B%E9%99%8D%E6%B3%95python%E5%AE%9E%E7%8E%B0/</link><pubDate>Sun, 07 Nov 2021 18:06:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-11-07-15521082-%E6%9C%80%E9%80%9F%E4%B8%8B%E9%99%8D%E6%B3%95python%E5%AE%9E%E7%8E%B0/</guid><description>最速下降法（Python实现） 使用最速下降法方向，分别使用Armijo准则和Wolfe准则来求步长 求解方程 的极小值 import numpy as np import tensorflow as tf def fun(x</description></item><item><title>最优化作业电子版</title><link>https://blog.overfit.org/posts/2021-10-19-15426866-%E6%9C%80%E4%BC%98%E5%8C%96%E4%BD%9C%E4%B8%9A%E7%94%B5%E5%AD%90%E7%89%88/</link><pubDate>Tue, 19 Oct 2021 22:42:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-10-19-15426866-%E6%9C%80%E4%BC%98%E5%8C%96%E4%BD%9C%E4%B8%9A%E7%94%B5%E5%AD%90%E7%89%88/</guid><description>给定函数，求在点处的最速下降方向和牛顿方向 [ f(x)=(6+x_1+x_2)^2+(2-3x_1-3x_2-x_1x_2)^2 frac{partial f}{p</description></item><item><title>抛物线法</title><link>https://blog.overfit.org/posts/2021-09-26-15340495-%E6%8A%9B%E7%89%A9%E7%BA%BF%E6%B3%95/</link><pubDate>Sun, 26 Sep 2021 22:35:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-09-26-15340495-%E6%8A%9B%E7%89%A9%E7%BA%BF%E6%B3%95/</guid><description>def f(x): return x ** 3 - 2 * x + 1 # 返回函数的值 def f1(s0, s1, s2): return (((s1 ** 2 - s2 ** 3) * f(s0) + (s2 ** 2 - s0 ** 2) * f(s1) + (s0 **</description></item><item><title>0.618法（最优化方法）Python实现</title><link>https://blog.overfit.org/posts/2021-09-26-15339903-0618%E6%B3%95%E6%9C%80%E4%BC%98%E5%8C%96%E6%96%B9%E6%B3%95python%E5%AE%9E%E7%8E%B0/</link><pubDate>Sun, 26 Sep 2021 20:17:00 +0800</pubDate><guid>https://blog.overfit.org/posts/2021-09-26-15339903-0618%E6%B3%95%E6%9C%80%E4%BC%98%E5%8C%96%E6%96%B9%E6%B3%95python%E5%AE%9E%E7%8E%B0/</guid><description>def fun(x): return x ** 3 - 2 * x + 1 def solve(a, b, epsilon): lamd = (5 ** 0.5 - 1) / 2 delta = b - a p = a + (1 - lamd) * (b - a) q = a +</description></item></channel></rss>