
算法
文章平均质量分 78
FakeOccupational
这个作者很懒,什么都没留下…
展开
-
leetcode127. 单词接龙 双向BFS
【代码】leetcode127. 单词接龙 双向BFS。原创 2023-07-08 22:41:10 · 134 阅读 · 0 评论 -
电阻抗成像OpenEIT 番外篇 简单算法
C→Y→V→e。原创 2023-01-24 23:00:00 · 1848 阅读 · 0 评论 -
生物化学 电阻抗成像OpenEIT 番外篇 EIT公式
摘要电阻抗断层扫描(EIT)是一种成像方式,使用无害的电流探测患者或物体。电流通过放置在靶表面上的电极馈送,数据由在电极处测量的电压组成,这些电压由一组线性独立的电流注入模式产生。EIT旨在恢复目标内部电导率的内部分布。EIT图像形成任务的逆问题是非线性和严重不适定的,因此对建模误差和测量噪声敏感。因此,需要对反演过程进行正则化。然而,传统的基于优化的变分正则化方法由于其非线性,往往存在局部极小问题。这就是正则化直接(非迭代)方法对EIT的吸引力所在。原创 2023-01-22 22:30:00 · 2347 阅读 · 0 评论 -
生物化学 电阻抗成像OpenEIT,Dbar算法,数据集等(暂记)
admittivity 复电导率形成原因假若物质处于随时间而变的电场,则电导率为复数(或对于异向性物质,电导率为复矩阵),称为导纳率(admittivity)。复电导率将电流密度的大小和相位与施加电场的大小和相位相关联,类似于交流电路中的电流和电压与复电导相关。当您记得只使用了电流和电场的复值的实部并且您用复指数表示复电导率时,最容易看出这一点σ∣σ∣exp−iϕσ∣σ∣exp−iϕ。原创 2023-01-22 22:00:00 · 5912 阅读 · 12 评论 -
opencv光流(密集光流+稀疏光流) cv.calcOpticalFlowPyrLK & cv2.calcOpticalFlowFarneback python与c++实现
H参数表示色彩信息,即所处的光谱颜色的位置。该参数用一角度量来表示,红、绿、蓝分别相隔120度。互补色分别相差180度。纯度S为一比例值,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比率。S=0时,只有灰度。V表示色彩的明亮程度,范围从0到1。有一点要注意:它和光强度之间并没有直接的联系。原创 2023-01-04 10:00:00 · 1769 阅读 · 0 评论 -
python 背景建模 opencv createBackgroundSubtractorMOG2
【代码】python 背景建模 opencv createBackgroundSubtractorMOG2。原创 2022-09-18 14:12:12 · 3563 阅读 · 0 评论 -
傅里叶特征学习高频:Fourier 相关工作+实验分析+代码实现
最后一个在映射时需要在高斯分布中随机采样参数,分布的std对实验结果的影响如下:原创 2022-08-17 09:15:00 · 4171 阅读 · 2 评论 -
傅里叶特征学习高频:Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains
Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains代码原创 2022-08-17 09:00:00 · 9883 阅读 · 12 评论 -
opencv cv2.inpaint()的代码与理论
理论基础CVPR 2001 Navier-Stokes, Fluid Dynamics, and Image and Video InpaintingBertalmio,Marcelo,Andrea L. Bertozzi和Guillermo Sapiro于2001年撰写的“Navier-Stokes,流体动力学和图像和视频修补”一文。该算法基于流体动力学并利用偏微分方程。基本原则是heurisitic。它首先沿着已知区域的边缘行进到未知区域(因为边缘是连续的)。它继续等照片(连接具有相同强度的点的原创 2022-06-07 13:00:00 · 2024 阅读 · 0 评论 -
局域网文件快传工具
文章简介 本文首先介绍了几种局域网传输文件的应用,并对其特点进行了分析,几个局域网传输文件的应用https://snapdrop.net/开源✔https://github.com/RobinLinus/snapdrop局域网✔多平台✔安装✖发送双方同时打开网页即可问题可能无法正常显示界面特点Snapdrop 的文件传输是基于P2P技术来实现的,文件数据原创 2022-05-21 16:23:52 · 3577 阅读 · 0 评论 -
计算复杂度基础(暂记):P与NP,NP完全问题(NPC)证明
计算复杂度基础时间复杂度的刻画P class 代表的是所有的多项式时间复杂可解问题的集合P 欧拉回路NPNP-hardNP-complete 哈密顿回路问题的转换任何一个问题都是一个“问题”与“解”的二元对应优化问题能不能写成判定问题,是否所有问题都能转化成判定问题?是。优化问题提:找G中两个定点间的最短路判定问题:是否存在路径最小为k的路径,k为正数(连续问一群这样的问题)编码与转换(同一个算法解决一个问题是否为P与编码无关)判定问题的原创 2022-03-05 11:44:15 · 1252 阅读 · 0 评论 -
图论练习题
图论练习题1.一个连通的无向图G,如果它的所有结点的度数都是偶数,那么它具有一条(B)1.一个连通的无向图G,如果它的所有结点的度数都是偶数,那么它具有一条(B)1.一个连通的无向图G,如果它的所有结点的度数都是偶数,那么它具有一条(B)A.汉密尔顿回路B .欧拉回路C.汉密尔顿通路D.初级回路...原创 2021-03-18 12:38:08 · 1318 阅读 · 4 评论 -
树的层次遍历&&图的层次遍历
-------是队列,我加了队列根节点入对,一个元素出队,出队元素的左,右节点入队(先左后右)原创 2020-12-24 18:33:39 · 641 阅读 · 0 评论 -
邻接矩阵转化成临接表-转换算法
typedef struct EdgeNode{int adjvex;EdgeType weight;struct EdgeNode *next;}EdgeNode;typedef struct VertexNode{VertexType data;struct EdgeNode *firstdege;}VertexNode,AdjList[MAXVEX];typedef struct {AdjList adjList;int mumNodes;int numEdges;}GraphAdjList;原创 2020-12-24 18:30:35 · 756 阅读 · 0 评论 -
线性结构的逆置:线性表的逆置和链表的逆置
线性结构的逆置:线性表的逆置手摇算法:liming−and−jenny→jenny−and−liming线性表的逆置:a[0],a[n]交换a[1],a[n-1]交换a[2],a[n-2]交换a[3],a[n-3]交换……(i指向low,j指向high,当low<high运行)for(int i = left, j = right; i < j; ++i, --j) temp = a[i] ; a[i] = a[j] ; a[j] = temp;}和链表原创 2020-12-24 18:28:38 · 420 阅读 · 0 评论 -
线性表的部分逆置与手摇算法
手摇算法:可只用O(1)的辅助空间,实现字符串的置换操作liming−and−jenny→jenny−and−liming先分部反转:gnimil−dna−ynnej然后整体反转:jenny−and−limingliming-and- jenny\rightarrow jenny-and-liming\\先分部反转: gnimil-dna-ynnej\\然后整体反转:jenny-and-liming\\liming−and−jenny→jenny−and−liming先分部反转:gnimil−dn原创 2020-12-24 18:28:28 · 186 阅读 · 0 评论 -
引用类型:getResult (int &r)---getResult (int *&P )
函数返回值类型函数名(参数定义列表)调用方法:函数名(参数列表) ;void F (){}调用: F() ;int result = 0;void getResult (int r){++r ;}调用: getResult (result);int result = 0;void getResult (int &r){++r ;}getResult (result);int*p=NULL;void getResult (int *&P )原创 2020-12-15 18:18:01 · 1367 阅读 · 2 评论 -
串-朴素匹配算法
不匹配时两次指针回退:i退回到上次匹配首位的下一位j退回到子串T的首位/* 返回子串T在主串S中第pos个字符之后的位置。若不存在,则函数返回值为0。 */int Index(String S, String T, int pos) { int i = pos; int j = 1; /* j用于子串中当前位置下标值 */ while (i <= S[0] && j <= T[0]) /* 若i小于S的长度并且j小于T的长度时,循环继续 */ { i原创 2020-12-13 13:09:19 · 241 阅读 · 0 评论 -
串
存储结构定长存储结构typedef struct{ char str[maxSize+1]; int legth; } Str ;变长存储结构typedef struct{ char *ch; int legth; } Str ;maxSize是已经定义的常量,+1是因为‘\0’的结束标记 二者都保留有利于程序的编写如果超出maxsize,定长需要重新设计结构体,而变长只需要freeStr S;S.length=L;S.ch=( char* )malloc( (L+1)*siz原创 2020-12-13 13:08:54 · 117 阅读 · 0 评论 -
排序算法的比较与总结
大类排序方法时间复杂度空间复杂度稳定性备注交换法冒泡法最差、平均都是O(n^2),最好是O(n)1稳定n较小时较好交换法鸡尾酒冒泡法最差、平均都是O(n^2),最好是O(n)1稳定n较小时较好交换法快速排序平均O(nlogn),最坏是O(n^2)O(logn)不稳定n大时较好插入法直接插入法最差、平均都是O(n^2),最好是O(n)1稳定大部分已排序时较好插入法希尔排序(分组的插入法)平均是O(nlogn)1...原创 2020-12-13 13:07:50 · 232 阅读 · 0 评论 -
读程序的方法
Given all this 考虑到这些19.读程序题从main开始读 : 第一次分析一个程序时,main是一 个好的起始点20.层叠if-else…ese序列可以看作是由互斥选择项组成的选择结构.22.在分析重要的程序时,最好首先识别出重要的组成部分.23.了解局部的命名约定,利用它们来猜测变里和函数的功能用途.25.理解了代码的某一部分,可能帮助你理解余下的代码.26.解决困难的代码要从容易的部分入手.31.我们经常可以将表达式应用在样本数据上,借以了解它的含义.(或对数据直接运行,能原创 2020-12-13 13:06:23 · 2099 阅读 · 2 评论 -
图的深度优先遍历和广度优先遍历
图的深度优先遍历(类似树的先序遍历)广度优先遍历(类似树的层次遍历)树的孩子表示法(孩子链表法)#include<stdio.h>#include <string.h> #include<stdlib.h>//无向图的邻接表#define Mv 100;//the max number of vertextypedef struct vn //顶点数组{ float price; arcn *next;//注意注意注意注意注意注意注意注意注意原创 2020-12-11 15:19:31 · 802 阅读 · 0 评论 -
DJ(附带与最小生成树prime算法比较部分)
#include <iostream>#include <stdio.h>#include <string.h>using namespace std;const int N = 1234;const int INF = 1234567;int G[N][N];int dist[N];//用来存储yuandian到dangqiandian最短距离int vis[N];int n,m;void dij(int v0)//迪杰斯特拉算法(原点v0)原创 2020-12-10 23:02:35 · 225 阅读 · 0 评论 -
由遍历序列确定二叉树 :前(后)序确定根,中序确定左右叉
由前序序列和中序遍历序列由后序序列和中序遍历序列后序序列用于确定“根节点”,中序遍历序列确定“左右节点”原创 2020-12-08 10:29:06 · 1076 阅读 · 0 评论 -
分块查找-数据结构
typedef struct{ int maxKey;/*“块”中最大的关键字*/ int low,high;/*块的范围*/}indexElem;/*块*/inedexElem index[3];int keys[15];在查找某元素时,先对索引元素表中做折半查找,当high<low时,折半查找结束,这时应该在low所指的块中进行“顺序查找”平均查找长度是两部分查找长度的求和查找长度分析...原创 2020-11-18 22:43:34 · 462 阅读 · 0 评论 -
生成树:Kruskal(克鲁斯卡尔算法)+并查集(双亲表示法)
图的存储结构:typedef truct Road{int a,b;int w;}Road;Road road[maxSize];并查集的(生成树的)存储结构:int parent[maxSize];/*简化了树的data的树的双亲表示法*/int getRoot(int p){ while(p!=parent[p]){p=parent[p];}/*只有根节点标号==的父节点的标号*/ return p;}总体代码:代码还是相对比较简洁的void Kruskal (Ro...原创 2020-11-14 10:41:59 · 485 阅读 · 0 评论 -
树和二叉树的转换,森林和二叉树的转换
原创 2020-11-12 18:54:22 · 161 阅读 · 0 评论 -
hash查找与计算查找成功时和失败时的 平均查找长度
计算查找成功时和失败时的平均查找长度原创 2020-11-10 13:43:50 · 8965 阅读 · 8 评论 -
有向图的强联通分量
强连通:任意两个点都能“相互到达”原创 2020-11-08 12:47:16 · 158 阅读 · 0 评论 -
折半查找(与其判别树)+折半插入排序
折半查找与其判别树(对于固定个数的n个序列其判定树的形式是固定的)11个元素的:原创 2020-11-07 16:06:37 · 665 阅读 · 0 评论 -
广义表的两种存储结构:头尾链表+扩展的线性表存储结构
广义表的两种存储方法原创 2020-11-07 14:31:16 · 5768 阅读 · 3 评论 -
数据结构:串 kmp中next(val)数组(首位置为0即next[1]=0,其他公共长度+1)和不匹配j=next[j]
到不匹配字符之前的字符,的,重复的部分是可以利用的next 数组其中i表示“已匹配前缀的下一个位置”,也就是待填充的数组下标,j表示“最长可匹配前缀子串的下一个位置”i不断增加,出现匹配时j增加,同时匹配数目加一到不匹配字符之前的字符,的,重复的部分是可以利用的小灰的方法好像有点不同【有哪些算法惊艳到了你?】易哥:新冠病毒的检测需要采样咽拭子,然后将其中含有的碱… https://www.zhihu.com/question/26934313/answer/1181965264?utm_sour原创 2020-11-04 11:21:12 · 946 阅读 · 0 评论 -
归并排序及其可视化
以下实现的归并排序的空间复杂度。原创 2020-11-02 17:42:53 · 390 阅读 · 0 评论 -
AOE网,关键路径
AOE 只有先导活动都(a(*,j))结束,后继事件(j)才能发生所以:ve(1)=0;ve(j)=max{ve()+a(,j)}原创 2020-11-02 14:24:49 · 338 阅读 · 0 评论 -
中缀表达式,前缀表达式,后缀表达式暂记
中缀表达式,前缀表达式(波兰表达式),后缀表达式(逆波兰表达式)原创 2020-11-01 12:29:40 · 192 阅读 · 0 评论 -
链表插入删除操作(单链表,双链表+循环链表)
在p后插入s在p后插入s在p后插入ss->next = p->next;p->next=s;删除s删除s删除sp->next = s->next;free(s);在p后插入s在p后插入s在p后插入ss->next = p->next;s->prior = p;p->next =s;s->next->prior =s;删除s删除s删除ss->prior->next = s->next;s-&.原创 2020-10-26 18:57:55 · 2474 阅读 · 0 评论 -
数据结构:堆排序
堆:满足上大下小(大根堆),或下大上小的(小根堆)完全二叉树初始建堆步骤一:可按层直接填充初始建堆步骤二:将一棵普通的完全二叉树调整为堆【因为叶子节点已是堆,从最后一个非叶子节点开始调整】堆的调整:3号:65满足堆条件,无需调整2号:38不满足: 将38所在的树调整成堆1号:49不满足: 将49所在的树调整成堆先将38所在的树调整成堆先将49所在的树调整成堆...原创 2020-10-24 14:55:41 · 378 阅读 · 0 评论 -
二叉树的(先序)遍历&树的(先序)遍历&图的(深度优先)遍历-三种先序遍历
二叉树的(先序)遍历void r(BTNode *p){ if(p!=NULL) {visit(p); r(p->Lchild); r(p->Rchild); }}树的(先序)遍历/*树的链式(孩子链表法)存储结构*/typedef struct Branch{int Cid;Branch *next;} Branch;typedef struct Branch{int data;Branch *first;} TNode;void r原创 2020-10-24 08:52:47 · 360 阅读 · 0 评论 -
二叉树的线索化
前驱或者后继指的是深度优先遍历序列中的顺序在一般的遍历中(深度优先遍历和层次遍历)需要用栈或队列保存父节点的信息而二叉树的线索化(给出一条直接指向其前驱或者后继的路径)是将空指针指向其所在节点在遍历序列中前驱(左空指针)或者后继(右空指针)中序线索化(最常见)底部的是空分支(指针=NULL)遍历序列的头尾没有前驱或者后继,所以还存在两个空指针线索二叉树的存储结构:typedef struct BTNode{int data; BTNode* LChild; BTNode* RChild;}原创 2020-10-24 08:50:19 · 579 阅读 · 2 评论 -
Prime算法 c实现 & 边的归并记录数组
#include<stdio.h>#include<string.h> #include<stdlib.h>#define INFINITY 2020;typedef struct closedge //保存链接边的辅助的类型{ int adjvex;/*边所依附的两个定点*/ int lowcost;/*边的权值,当值为0时表示已经归并到了树中*/} closedge;typedef struct MSTEdge //边类型{ int vex1原创 2020-10-20 10:18:53 · 315 阅读 · 0 评论