自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第五章——树与二叉树的应用

文章目录1.二叉排序树(BST)1.1二叉排序树的定义和性质1.2二叉排序树的查找1.3二叉排序树的插入1.4二叉排序树的创建1.5二叉排序树的删除1.5.1删除叶子结点1.5.2被删除的结点只有左子树或者只有右子树1.5.3被删除的结点既有左子树或者又有右子树2.平衡二叉树(AVL)2.1平衡二叉树的定义2.2平衡二叉树的平衡调整方法1.二叉排序树(BST)二叉排序树(Binary Sort Tree)又称二叉查找树,搜索二叉树,它是一种对排序和查找都很有用的特殊二叉树。1.1二叉排序树的定义和性质

2020-11-28 14:45:55 372

原创 A study of graph-based system for multi-view clustering

先前基于图的聚类方法存在不足之处:没有从这两个方面进行研究①方法的泛化②不同图度量对聚类结果的影响本文扩展了这个方法,首先提出了一个通用的基于图的多视图聚类系统(GBS),并在框架内讨论和评估了不同的图度量对多视图聚类性能的影响。低秩张量限制的多视图子空间聚类方法(LR-MSC)。这个方法是属于多视图子空间类别。该方法是将从不同视图中学习到的子空间表示矩阵看成一个张量,张量可以捕获多视图数据之间的高阶相关性。再对这个张量施加低秩约束。............

2022-08-29 21:13:35 497 1

原创 奇异矩阵与非奇异矩阵(广义逆)

最近看了一篇多视图聚类的论文,论文代码使用matlab,在matlab中求矩阵的逆是使用了广义的逆pinv,对此很疑惑,整理资料供自己查阅。

2022-08-29 19:19:21 2127

原创 Low-Rank Tensor Constrained Multiview Subspace Clustering

Abstract本文提出一种低秩张量限制的多视图子空间聚类方法(LR-MSC)。这个方法是属于多视图子空间类别。该方法是将从不同视图中学习到的子空间表示矩阵看成一个张量,张量可以捕获多视图数据之间的高阶相关性。再对这个张量施加低秩约束,这个约束可以优雅的建模不同视图之间的交叉信息,从而有效的减少子空间表示的冗余,提高聚类的精确度。通过增广的拉格朗日交替方向乘子法(AL-ADM) 有效的解决优化问题,在各种实验数据集上证明了该方法的有效性。...

2022-05-27 10:30:31 781

原创 Tensorized Multi-view Subspace Representation Learning(张量多视图子空间表示学习)

Abstract文章提出一种基于张量的多视图子空间表示学习的方法,顾名思义,该方法属于基于子空间学习的自表示(self-epresentation based subspace learning)的类别。这个方法是将学习到的来自不同视图的子空间表示矩阵视为一个低阶张量,这样可以有效的建模多视图数据的高阶相关性。为了结合先验信息(prior information),设计了一个约束矩阵在统一框架内指导子空间表示学习。文章采用低秩约束的子空间表示张量巧妙的建立了来自不同视图之间的互补信息,减少子空间表示的冗余

2022-05-26 09:30:49 427

原创 对代价函数的理解

1、什么是代价函数?定义代价函数的目的是用于找到找到最优解的目的函数。2、如何区分代价函数、损失函数和目标函数?代价函数(Cost Function) 定义在整个训练集上的,是所有样本误差的平均值,也就是损失函数的平均。损失函数(Loss Function) 定义在单个样本上的,算的是一个样本的误差。目标函数(Object Function) 定义为是最终需要优化的函数。等于经验风险+结构风险(也就是Cost Function+正则化项)。3、代价函数作用原理对于回归的问题,我们需要使用代

2021-11-04 15:14:38 986

原创 IDEA中从码云克隆代码后spring框架出现很多Cannot resolve class or package ‘servlet‘无法解析包问题解决办法

作为一名使用IDEA的新手,从老师的码云仓库克隆的代码,班级别的同学可以用,但是我的却一直报错,这个错误真的是。。。。新手菜鸟无从下手。总共所试解决办法:①方法1:file->Invalidate Caches,但是对我的问题没有用②方法2:可能是IDEA没有自动识别resouces文件夹,然后通过网上找到设置文件夹属性的操作,操作是右键resources文件夹→Mark Directory as→Resources Root。但但还没解决我的问题③方法3:第三种解决方法,既然由于

2021-01-25 21:48:43 6349 4

原创 第七章——查找(1)

一、查找的基本概念【查找表】(查找结构)用于查找的数据集合称为查找表,它由同一类型的数据元素(或记录组成),可以是一个数组或者链表等数据类型【关键字】数据元素中唯一标识该元素的某个数据项的值,使用基于关键字的查找,查找结果应该是唯一的。比如:查找学生学号【平均查找长度】在查找过程中,一次查找的长度是指需要比较的关键字次数,而平均查找长度是所有查找过程中进行关键字的比较次数的平均值。平均查找长度是衡量查找算法效率的最主要的指标二、顺序查找、折半查找和分块查找1.顺序查找1.1数据元素类型定义/

2020-12-07 11:58:57 385

原创 第六章——图(4)图的应用

文章目录1.最小生成树1.1普里姆(Prim)算法(加点法)1.2克鲁斯卡尔(Kruskal)算法(加边法)1.3两种算法比较2.最短路径2.1从某个源点到其余各顶点的最短路径Dijkstra(迪杰斯特拉)2.2每一对顶点之间的最短路径(Floyd)3.拓扑排序3.1AOV--网3.1.1AOV--网的定义3.2拓扑排序的过程3.3检测AOV网中是否存在环的方法4.关键路径4.1AOE网4.1.1AOE--网的定义4.2关键路径的求解过程4.2.1如何确定关键路径,需要定义4个描述量4.2.2如何找l(i)

2020-12-06 20:00:28 347

原创 第六章——图(3)图的遍历

文章目录图的遍历大纲1.图的遍历定义2.深度优先搜索(DFS)2.1深度优先搜索遍历基本思想2.1深度优先算法实现2.1.1深度优先搜索遍历连通图2.1.2深度优先搜索遍历非连通图2.1.3采用邻接矩阵表示图的深度优先搜索遍历2.1.3采用邻接表表示图的深度优先搜索遍历2.1深度优先搜索遍历的算法分析3.广度优先搜索(BFS)3.1广度优先搜索遍历基本思想2.2广度优先算法实现2.2广度优先搜索遍历的算法分析图的遍历大纲1.图的遍历定义从已给的连通图中某一顶点出发,沿着一些边访遍图中所有的顶点,且使每

2020-12-06 11:47:19 273

原创 第六章——图(2)图的存储及基本操作

文章目录一、邻接矩阵法1.邻接矩阵的表示法1.1定义1.2无向图邻接矩阵表示法1.3有向图邻接矩阵表示法1.4网及其邻接矩阵表示法1.5注意点总结2.邻接矩阵的建立2.1邻接矩阵的存储表示2.2邻接矩阵的优缺点二、邻接表法1.1邻接表的引入1.2图的邻接表存储结构定义1.3图的邻接表存储特点三、十字链表四、邻接多重表五、图的基本操作前言:图没有顺序存储结构,但可以借助二维数组来表示元素之间的关系。———数组表示法(邻接矩阵)链式存储结构:①邻接表②邻接多重表③十字链表一、邻接矩阵法1.邻接

2020-12-02 14:37:33 596

原创 第六章——图(1)——图的基本概念

文章目录一、图的基本概念1、图的定义2、图的基本术语2.1有向图和无向图2.2子图2.3完全图2.4稀疏图和稠密图2.5边的权和网2.6度、入度和出度2.7路径和路径长度2.8回路或环2.9简单路径、简单回路或者简单环2.10连通、连通图和连通分量(无向图)2.11强连通图和连通分量(有向图)2.12极小连通子图2.13生成树和生成森林一、图的基本概念1、图的定义图(Graph)G由两个集合V和E组成,记为G=(V, E),其中V是顶点的有穷非空集合,E是V中顶点偶对的有穷集合,这些顶点偶对称为边。

2020-11-30 16:49:44 637

原创 第五章——哈夫曼树和哈夫曼编码

文章目录1.哈夫曼树的基本概念(Huffman)2.哈夫曼树的构造方法(Huffman)3.哈夫曼树构造算法的实现(Huffman)4.哈夫曼编码(Huffman)4.1哈夫曼编码的主要思想4.2哈夫曼编码的方法步骤4.3哈夫曼编码的两个重要问题4.4哈夫曼编码的两个性质1.哈夫曼树的基本概念(Huffman)哈夫曼树又称最优树,是一类带权路径长度最短的树【路径】从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径。【结点路径的长度】两结点间路径的分枝树【树的路径长度】从树根到每个结点的

2020-11-29 10:22:40 560

原创 第五章——树和森林

文章目录1.树的存储结构1.1双亲表示法1.2孩子表示法1.树的存储结构1.1双亲表示法这种方式采用一组连续空间来存储每个结点,同时在每个结点中增设一个伪指针,指示其双亲结点在数组中的位置。根节点下表为0,其伪指针域为-1.每个结点除了数据域data外,还附设一个parent域用以指示其双亲结点的位置优点和缺点:找双亲容易,找孩子难。双亲表示法存储结构描述:typedef struc PTNode{//树的结点定义 TElemType data;//数据元素 int parent;

2020-11-28 14:46:58 189

原创 第五章——遍历二叉树和线索二叉树

文章目录一、二叉树的遍历1.遍历的定义2.遍历二叉树的递归方法2.1先序遍历二叉树2.2中序遍历二叉树2.3后序遍历二叉树3.遍历二叉树的非递归方法(栈)3.1中序遍历非递归算法3.2先序遍历非递归算法一、二叉树的遍历1.遍历的定义遍历二叉树(traversing binary tree)是指按某条搜索路径巡访树中每个结点,使得每个结点均被访问一次,而且仅被访问一次。遍历目的:得到树中所有结点的线性排列2.遍历二叉树的递归方法由二叉树的递归定义可知,遍历左子树和遍历右子树如同遍历二叉树一样递归进

2020-11-21 11:07:33 410

原创 第五章——树和二叉树

一.树的基本概念1.树的定义【定义】树(Tree)是n(n≥0)个结点的有限集,它或为空树(n=0);或为非空树,对于非空树T:①有且仅有一个称之为根的结点;②除根结点以外的其余结点可分为m(m>0)个互不相交的有限集T1, T2, …, Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。树的结构定义是一个递归的定义,在树的定义中又用到树的定义,它道出了树的固有特性。【树的表示形式】①嵌套集合②广义表③凹入法(类似于书的编目)2.树的基本术语【结点】树中的

2020-11-18 14:58:25 163

原创 第三章 最简单的C程序设计——顺序程序设计(I)

【输出形式取决于printf函数中的格式符】格式符为“%c“时输出的变量值为字符格式符为"%d"时输出的变量值为整数1.数据的表现形式及其运算1.1实数常量(浮点数常量)浮点数(float)又称为实数(real)两种表示方法:①十进制小数形式:必须要有小数点如:0.123、 0.0、123.②指数形式:e或E之前必须要有数字,且e或者E后面必须为整数如:12.34e3.不能写成:e4, 12e2.5浮点型常量不分float和double【注意】C语言中的实型常量都作为双精度浮点

2020-11-18 10:21:09 168

原创 第一章和第二章 程序设计和C语言和算法

第一章重要概念【程序】一组计算机能识别的指令【函数与主函数】①程序由一个或者多个函数组成②必须有且只能有一个主函数main(),可以放在程序的任一位置③程序执行从main开始,在main中结束,其他函数通过嵌套调用得以执行。第二章重要概念【程序包括的内容】①数据结构:数据的类型和组织形式②算法:操作步骤的描述著名计算机科学家沃斯提出一个公式:算法+数据结构=程序【算法的概念】  为解决一个问题而采取的方法和步骤就称为算法。【算法的特性】一个有效的算法应该具有

2020-11-17 20:55:38 127

原创 第四章 串、数组和广义表

一、串的定义和实现1.串的定义串——零个和任意多个字符组成的有限序列称为串。计算机上非数值处理的对象基本都是字符串串相等:串长度相等,对应位置字符都相等。2.串的顺序存储类似于线性表的顺序存储结构,用一组地址连续的存储单元存储串值的字符序列。按照预定义的大小,为每个预定义的串变量分配一个固定长度的存储区。#define MAXLEN 255typedef struct{ char ch[MAXLEN+1]; int length;}SString;3.串的链式存储顺序串的插入和删

2020-11-17 14:38:17 354

原创 第三章栈和队列的应用知识体系III

一、栈的应用案例分析1.数制的转换【案例分析】当将一个十进制整数N转换为八进制数时,在计算过程中,把N与8求余得到的八进制数的各位依次进栈,计算完毕后将栈中的八进制数依次出栈输出,输出结果就是待求得的八进制数。【案例实现】栈可以采用顺序存储表示也可以采用链式存储表示。【算法步骤】① 初始化一个空栈S。② 当十进制数N非零时,循环执行以下操作:    ·把N与8求余得到的八进制数压入栈S;    ·N更新为N与

2020-11-15 13:07:20 234

原创 第三章——栈和队列的知识体系II

队列1.队列的概念队列也是一种操作受限的线性表,先进先出,简称(FIFO)。在表的一端插入(表尾),在另一端删除(表头)。栈和队列都是操作受限的线性表,因此不是任何对线性表的操作都可以作为栈和队列的操作。比如,不可以随便读取栈和队列中间的某个数据。2.队列的顺序存储结构队列的顺序实现是指分配一块连续的存储单元存放队列中的元素,并设两个指针:对头指针和队尾指针。front指向队头元素,rear指向队尾元素的位置。2.1队列的顺序存储结构#define MAXSIZE 100 //队列所达到的

2020-11-14 11:49:12 465

原创 第三章栈和队列的知识体系

栈1.栈的概念栈是一种特殊的线性表,只能在一端进行插入和删除。简称LIFO2.栈的应用举例数值转换表达式求值括号匹配的检验递归调用的实现八皇后问题函数调用递归调用的实现迷宫求解3.顺序栈栈表示和操作的实现由于栈本身就是线性表,于是栈也有顺序存储和链式存储两种实现方式采用顺序存储对的栈称为顺序栈,它利用一组地址连续的存储单元存放自栈底到栈顶的数据元素,同时附设一个指针(top)指示真正栈顶元素之上的下表地址。typedef struct { SElemType *base;

2020-11-13 11:51:07 110

原创 第二章——线性表的顺序表和链表的比较及其应用

顺序表和链表的比较链表的优点:①结点可以动态申请和释放②插入和删除时不需要移动大量的数据元素链表的缺点:①存储密度小,每个结点的指针域还需要额外的占用存储空间。②链式存储结构是非随机存取结构。对任意结点的操作都要从头指针开始,增加了算法的复杂度。线性表的应用求解一般集合的并集问题:可以利用两个线性表LA和LB分别表示集合A和B(即线性表中的数据元素为集合中的成员),这样只需扩大线性表LA,将存在于LB中而不存在于LA中的数据元素插入到LA中去。只要从LB中依次取得每个数据元素,并依值在LA

2020-11-12 12:54:15 194

原创 第二章——线性表的链式表示和实现

1.链式存储结构定义:结点在存储器的位置上是任意的,即逻辑相邻的数据元素在物理上不一定相邻。2.单链表、双链表、循环链表: - 单链表:结点只有一个指针域链表 - 双链表:结点有两个指针域的链表 - 循环链表:首尾相连的链表3.头指针、头结点、首元结点: - 头指针:指向链表中第一个结点的指针 - 头结点:在链表的首元结点之前附加的一个结点 - 首元结点:是指链表中存储第一个元素的结点4. 链表的特点1. 结点在存储器中的位置是任意的,逻辑上相邻的数据元素物理上不一定相邻2.

2020-11-09 15:50:41 393

原创 王道数据结构题目练习

题目 1从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值,空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。//删除顺序表中元素值最小的Status DLMinElem(Sqlist &L,ElemType &value){ //删除顺序表L中最小元素结点,并通过引用型参数value返回其值 if(L.length==0) return false; value=L.data[0]; //假定0号元素是最小的值 int pos=0;

2020-11-08 15:18:20 1714

原创 C语言线性表之顺序表的初始化、插入、删除、查找等操作的实现

顺序表的表示和实现顺序表的特点:逻辑上相邻的元素在物理上也是相邻可以快速计算出任何一个数据元素的存储地址,即访问每个元素所花时间相等算法实现(C语言)在这里插入代码片#include<stdio.h>#include<stdlib.h>#define maxsize 100#define ERROR 0#define OK 1typedef int ElemType;typedef int Status;//定义顺序表类型typedef struct{

2020-11-08 14:32:42 6418 3

原创 折半插入排序

查找插入位置的时候使用折半查找法折半插入排序优点减少了比较次数平均性能优于直接插入排序在这里插入代码片#include<stdio.h>#include<stdlib.h>int a[11]={0,3,78,67,45,90,34,6,35,90,98};void BlnsertSort(int a[],int length){ int i,j; for(i=2;i<=length;i++)//依次插入第2-n个元素 { a[0]=a[i];//当

2020-10-28 13:38:12 170

原创 直接插入排序——使用哨兵

直接插入排序——使用哨兵直接插入排序,使用顺序查找法查找插入位置使用哨兵是不仅可以暂存待插入元素,还有一个很好的功能就是防止数组下表越界。如果没有哨兵,for循环就会多一次判断数组下表有没有越界,所以使用数组下表能提高效率。#include<stdio.h>#include<stdlib.h>int a[11]={0,3,78,67,45,90,34,6,35,90,98};void InSertSort(int a[],int length){ int i,j;

2020-10-28 11:58:53 2839 3

原创 数据结构C语言二分查找——递归算法和非递归算法

二分查找算法—递归算法#include<stdio.h>#include<stdlib.h>#include<windows.h>int Search_Bin(int a[],int key,int low,int high){ int mid=(low+high)/2; if(low>high) { return -1; } if(key==a[mid]) { return mid; } else if(key>a[mid]

2020-10-25 10:05:27 478 1

空空如也

空空如也

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

TA关注的人

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