第四章 串、数组、广义表

4.1 关于串

4.11 串的定义与特点

串(string)(或字符串)是由零个或多个字符组成的有限序列。严格意义上讲,串存储结构也是一种线性存储结构,因为字符串中的字符之间也具有"一对一"的逻辑关系。

4.12 串的具体实现

存储一个字符串,数据结构包含以下 3 种具体存储结构:

  1. 定长顺序存储:实际上就是用普通数组(又称静态数组)存储。
  2. 堆分配存储:用动态数组存储字符串;
  3. 块链存储:用链表存储字符串;

4.13 串的定长顺序存储结构

串的定长顺序存储结构,可以简单地理解为采用 “固定长度的顺序存储结构” 来存储字符串,因此限定了其底层实现只能使用静态数组。

定长顺序串的存储结构如下:

#define MAXLEN 255
typedef struct {char ch[MAXLEN+1];int length;
}SString;

缺点:这种定义方式是静态的, 在编译时刻就确定了串空间的大小。 而多数情况下, 串的操作是以串的整体形式参与的, 串变量之间的长度相差较大, 在操作中串值长度的变化也较大, 这样为串变量设定固定大小的空间不尽合理。

4.14 串的堆式存储结构

串的堆分配存储,其具体实现方式是采用动态数组存储字符串。

堆与其他区域不同,堆区的内存空间需要程序员手动使用malloc() 函数申请,并且在不用后要手动通过 free() 函数将其释放。 可以
为每个新产生的串动态分配一块实际串长所需的存储空间, 若分配成功, 则返回 一 个指向起始地址的指针, 作为串的基址, 同时为了以后处理方便, 约定串长也作为存储结构的 一 部分。

串的堆式存储结构如下:

typedef struct{char *ch;int length;
}HString;

4.15 串的链式存储结构

顺序串的插入和删除操作不方便,需要移动大量的字符。因此,可采用单链表方式存储串。而且需要注意的是,此结构还有一个名字,就是“串的块链式存储结构”,也就是说,链式存储结构可以是分块的,每块可以是一个字符,也可以是多个字符。其存储方式,如下图:

image-20200603135326139

串的链式存储结构如下:

#define CHUNKSIZE 80 //可由用户定义的块大小typedef struct Chunk{char ch [CHUNKSIZE];struct Chunk *next;
}Chunk;typedef struct{Chunk *head,*tail;		//串的头和尾指针int length;				//串的当前长度
}String;

关于串的存储结构,较简单,将不放代码,此部分着重学习理解BF算法和KMP算法思想。


4.16 BF算法

普通模式匹配算法,其实现过程没有任何技巧,就是简单粗暴地拿一个串同另一个串中的字符一一比对,得到最终结果。即暴力匹配。

算法步骤图示
  1. 从主串起始位置开始,将模式串与主串逐个匹配,如果匹配,就比较模式串下一个位置和主串下一个位置,如果不匹配,将模式串向右移动一位,然后从头开始匹配

    image-20200603140911570
  2. 定义指针ij分别指向主串当前位置和模式串当前位置。如上图,初始时ij都指向开头,i=0,j=0。有S[0]==P[0],所以将ij都后移一位,继续比较。直至i=3j=3,此时S[3]!=P[3]

    image-20200603140920666
  3. 所以将模式串向右移动一位,重新匹配

    image-20200603141230489
算法总结
  1. 如果当前字符匹配成功(即S[i]==P[j]),则i++j++,继续匹配下一个字符;
  2. 如果当前字符匹配失败(即S[i]!=P[j]S[i]),则i=i−(j−1)j=0,即i回溯,j重置为0,重新开始匹配。
算法代码描述
int ViolentMatch(char *s, char *p){int i = 0;int j = 0;     				// 初始化while (i < strlen(s) && j < strlen(p)){if (s[i] == p[j]){      // 当前位置匹配成功i++;j++;}else{                	// 当前位置匹配失败i = i - j + 1;      // i回溯j = 0;      		// j重置}}if (j == strlen(p))     	// 匹配成功return i - j;elsereturn -1;
}

由以上分析,可知每轮的查找,一旦失败,主串的指针i总是会回溯到i-j+1的位置,模式串的指针也会回溯到j=1的位置。

不难看出,BF算法(暴力匹配算法)的效率过低,平均时间复杂度能达到O(m × n),唯一的优点也就是思路简单,容易理解了。


4.17 KMP算法

经上文分析,导致BF算法时间复杂度过高的一大原因就是主串指针i和模式串指针j的回溯操作过于频繁

因为在模板串P的每一个位置都有可能发生不匹配,也就是说我们要计算每一个位置对应的k,在KMP算法中,用数组next对其进行保存,即next[j]=k,表示当S[i]!=P[j]时,指针j下一步指向下标k。 假设我们已经求出next数组,我们可以对暴力匹配进行改进,代码如下:

int kmpSearch(char *s, char *p){int i = 0;int j = 0;     // 初始化int next[strlen(s)];GetNext(p,next);while (i < strlen(s) && j < strlen(p)) {if (j == -1 || s[i] == p[j])      // 当前位置匹配成功{i++;j++;} else      // 当前位置匹配失败{j = next[j];   // i不回溯,j移动到next[j]位置,相当于模板串右移j - next[j]}}if (j == strlen(p))     // 匹配成功return i - j;elsereturn -1;
}
next[]的求解

首先要理解清楚,next[]是个什么东西,next[j]的值(也就是k)表示当S[i]!=P[j]时,指针j下一步指向下标k

模式串中各字符对应 next 值的计算方式是,取该字符前面的字符串(不包含自己),其前缀字符串和后缀字符串相同字符的最大个数再 +1 就是该字符对应的 next 值。

前缀字符串指的是位于模式串起始位置的字符串,例如模式串 “ABCD”,则 “A”、“AB”、“ABC” 以及 “ABCD” 都属于前缀字符串;后缀字符串指的是位于串结尾处的字符串,还拿模式串 “ABCD” 来说,“D”、“CD”、“BCD” 和 “ABCD” 为后缀字符串。

**注:**模式串中第一个字符对应的值为 0,第二个字符对应 1 。而严蔚敏版教材中第一个字符对应值为1。如图:

image-20200603170822317

代码实现如下:

/*** 获取Next表* @param p 模式串* @param next*/
void GetNext(char* p, int next[]){int k = -1;int j = 0;next[0] = -1;while (j < strlen(p) - 1){if (k == -1 || p[j] == p[k]){k++;j++;next[j] = k;}else{k = next[k];}}
}
next[]的优化

此时的next表获取方法还有一个弊端,见下图场景:

image-20200603200141056image-20200603200150315

出现这种多余的操作,问题在当 T[i-1]==T[j-1]成立时,没有继续对 i++ 和 j++ 后的 T[i-1] 和 T[j-1] 的值做判断。针对这个问题可对next表获取函数做出优化如下:

/*** 优化next表* @param p 模式串* @param next*/
void NextVal(char* p, int next[]){int k = -1;int j = 0;next[0] = -1;while (j < strlen(p) - 1){if (k == -1 || p[j] == p[k]){k++;j++;if (p[j] != p[k] ){next[j] = k;} else{next[j] = next[k];}}else{k = next[k];}}
}

4.2 关于数组

TIPS:本节无演示代码

4.2.1 数组的定义及特点

数组作为一种线性存储结构,对存储的数据通常只做查找和修改操作,因此数组结构的实现使用的是顺序存储结构

因为在数组中做插入和删除的操作的话,效率太差,一般不会做这种骚操作。

​ 由于数组可以是多维的,而顺序存储结构是一维的,因此数组中数据的存储要制定一个先后次序。通常,数组中数据的存储有两种先后存储方式:

  1. 列序为主(先列后行):按照号从小到大的顺序,依次存储每一列的元素
  2. 行序为主(先行后序):按照号从小到大的顺序,依次存储每一行的元素

列序为主的存储方式如图:

image-20200604163052777

行序为主的存储方式如图:

image-20200604163142130

在C/C++语言、Java语言中,一般都是以行序为主的顺序存储方式。

4.2.2 多维数组如何查找指定元素

当需要在顺序存储的多维数组中查找某个指定元素时,需知道以下信息:

  • 多维数组的存储方式;
  • 多维数组在内存中存放的起始地址;
  • 该指定元素在原多维数组的坐标(比如说,二维数组中是通过行标和列标来表明数据元素的具体位置的);
  • 数组中数组的具体类型,即数组中单个数据元素所占内存的大小,通常用字母 L 表示;

根据存储方式的不同,查找目标元素的方式也不同。如果二维数组采用以行序为主的方式,则在二维数组 anm 中查找 aij 存放位置的公式为:

LOC(i,j) = LOC(0,0) + (i*m + j) * L;

其中,LOC(i,j) 为 aij 在内存中的地址,LOC(0,0) 为二维数组在内存中存放的起始位置(也就是 a00 的位置)。

而如果采用以列存储的方式,在 anm 中查找 aij 的方式为:

LOC(i,j) = LOC(0,0) + (i*n + j) * L;

4.2.3 矩阵的三种压缩方式

在实际应用中,经常会遇到一些特殊的矩阵(即有一定规律的矩阵)。而我们可以利用其规律或者特点来进行存储优化,提升存储效率。

这些特殊的矩阵主要分为两种:

  • 含有大量相同的元素的矩阵,如对称矩阵
  • 含有大量的0元素的矩阵(在实际应用中,也可能含大量其他相同元素),如稀疏矩阵、上/下三角矩阵

对这种特殊矩阵,我们的压缩存储的思路就是,重复的尽量只存一次,节约存储空间。

对称矩阵

上图矩阵中,数据元素沿主对角线对应相等,这类矩阵称为对称矩阵。即 aij = aji (1 ≤ i,j ≤ n),成为n阶对称矩阵

image-20200604164818938

矩阵中有两条对角线,其中图 1 中的对角线称为主对角线,另一条从左下角到右上角的对角线为副对角线。对称矩阵指的是各数据元素沿主对角线对称的矩阵。

结合数据结构压缩存储的思想,我们可以使用一维数组存储对称矩阵。由于矩阵中沿对角线两侧的数据相等,因此数组中只需存储对角线一侧(包含对角线)的数据即可。

对称矩阵的实现过程是,若存储下三角中的元素,只需将各元素所在的行标 i 和列标 j 代入下面的公式:

image-20200604172310639

最终求得的 k 值即为该元素存储到数组中的位置(矩阵中元素的行标和列标都从 1 开始)。

image-20200604171933456
上(下)三角矩阵

如图所示,即为上三角和下三角矩阵

image-20200604170401782

对于这类特殊的矩阵,压缩存储的方式是:上(下)三角矩阵采用对称矩阵的方式存储上(下)三角的数据(元素 0 不用存储)

其实也并非元素0不用存储,只不过是约定好了剩下的就是元素0。在特殊情况下是可以适当变通。、

  1. 上三角矩阵

    sa[k] 和 矩阵元aij之间的对应关系为

    image-20200604174806248
  2. 上三角矩阵

    sa[k] 和 矩阵元aij之间的对应关系为

    image-20200604174906333
对角矩阵

如图,即为对角矩阵

image-20200604171743041

这种矩阵的规律分厂简单,对角线上的元素 aij 特征都是 i=j 。显而易见,可以将其压缩为一个一维数组。

sa[k] 和 矩阵元aij之间的对应关系为 k=i=j

稀疏矩阵

通常认为矩阵中非零元素的总数比上矩阵所有元素总数的值小于等于0.05时,则称该矩阵为稀疏矩阵。形如下图:

image-20200604175728832

压缩存储稀疏矩阵的方法是:只存储矩阵中的非 0 元素。稀疏矩阵非 0 元素的存储需同时存储该元素所在矩阵中的行标和列标

例如存储上图中的矩阵:

  • (5,5,2) : 存储此系数矩阵的大小
  • (3,2,1) : 在矩阵位置为(3,2)上存储的数据是 1
  • (4,4,2) : 在矩阵位置为(4,4)上存储的数据是 2

这样就可以存储一个完整的稀疏矩阵了。

在严蔚敏版本的《数据结构》教材中,并未对压缩矩阵的实现方法以及稀疏矩阵的压缩存储方法进行详细描述。在此先不做详解,日后再补上~

4.3 关于广义表

之前学过的数组,即可以存储不可再分的数据元素(如数字 5、字符 ‘a’),也可以继续存储数组(即 n 维数组)。但是同一数组存储两种数据,如{3,5,{1,3,6}},虽然可以通过二维数组来实现,但是会造成大量的存储空间浪费。而对于这种数据,有一个更好的存储方案,那就时使用广义表

4.3.1 广义表的定义

广义表,又称列表,也是一种线性存储结构。

同数组类似,广义表中既可以存储不可再分的元素,也可以存储广义表,记作:

LS = (a1,a2,…,an)

其中,LS 代表广义表的名称,an 表示广义表存储的数据。广义表中每个 ai 既可以代表单个元素,也可以代表另一个广义表。

通常,广义表中存储的单个元素称为 “原子”,而存储的广义表称为 “子表”。

广义表存储数据的常用形式有:

  • A = ():A 表示一个广义表,称其为空表。
  • B = (e):广义表 B 中只有一个原子 e。
  • C = (a,(b,c,d)) :广义表 C 中有两个元素,原子 a 和子表 (b,c,d)。
  • D = (A,B,C):广义表 D 中存有 3 个子表,分别是A、B和C。
  • E = (a,E):广义表 E 中有两个元素,原子 a 和它本身。这是一个递归广义表,等同于:E = (a,(a,(a,…)))。

:A = () 和 A = (()) 是不一样的。前者是空表,而后者是包含一个子表的广义表,只不过这个子表是空表。

4.3.2 广义表的表头和表尾

当广义表不是空表时,称第一个数据(原子或子表)为"表头",剩下的数据构成的新广义表为"表尾"。

注意:广义表的表尾一定是一个广义表。

4.3.3 广义表的存储结构

由于广义表中的数据元素可以有不同的结构(或是原子,或是列表),因此难以用顺序存储结构表示,通常采用链式存储结构

tag 标记位用于区分此节点是原子还是子表,通常原子的 tag 值为 0,子表的 tag 值为 1。

子表节点中的 hp 指针用于连接本子表中存储的原子或子表,tp 指针用于连接广义表中下一个原子或子表。

广义表头尾链表
image-20200605201955634

广义表头尾链表的存储结构

typedef struct GLNode{int tag;				//标志域union{char atom;			//原子结点的值域struct{struct GLNode * hp,*tp;}ptr;				//子表结点的指针域,hp指向表头;tp指向表尾};
}*Glist;

这里用到了 union 共用体,因为同一时间此节点不是原子节点就是子表节点,当表示原子节点时,就使用 atom 变量;反之则使用 ptr 结构体。

例如,广义表 {a,{b,c,d}} 是由一个原子 a 和子表 {b,c,d} 构成,而子表 {b,c,d} 又是由原子 b、c 和 d 构成,用链表存储该广义表如图:

image-20200605201839104

可见,存储原子 a、b、c、d 时都是用子表包裹着表示的,因为原子 a 和子表 {b,c,d} 在广义表中同属一级,而原子 b、c、d 也同属一级。

举例如下:

image-20200605202439718

广义表G1

针对以上例子,使用此种表示法的存储结构如下图所示:

image-20200605203310869
扩展线性链表
image-20200605202101568

如图所示,表示原子的节点构成由 tag 标记位、原子值和 tp 指针构成,表示子表的节点还是由 tag 标记位、hp 指针和 tp 指针构成。

扩展线性链表的存储结构

typedef struct GLNode{int tag;					//标志域union{int atom;				//原子结点的值域struct GLNode *hp;		//子表结点的指针域,hp指向表头};struct GLNode * tp;			//这里的tp相当于链表的next指针,用于指向下一个数据元素
}*Glist;

举例如下:

image-20200605202439718

广义表G2

针对以上例子,使用此种表示法的存储结构如下图所示:

image-20200605202509167

对于广义表的长度、深度的计算,在严蔚敏版本《数据结构》中,没有详细讲解,暂时先不做整理,之后再补。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. C++函数重载(详)

    C++有三大定义一定要分清楚:重载,重写(类中子类覆盖基类),重定义(隐藏) 今天自己给自己挖坑,所以查资料复习了一遍,先说重载,其他两种后面再说。1. C++函数重载的定义 概念:同一作用域下,函数名相同,函数参数个数不同,参数类型不同,参数位置不同,这样的一些函数叫做…...

    2024/4/30 17:37:33
  2. 概率论笔记——第4章 随机变量的数字特征

    概率论第4章 随机变量的数字特征4.1 随机变量的数学期望4.1.1 离散型随机变量的数学期望4.1.2 连续型随机变量的数学期望4.1.3 随机变量函数的数学期望4.1.4 数学期望的性质4.2 随机变量的方差方差的的定义方差的性质常见分布的期望和方差:推荐b站《概率论与数理统计》教学视频…...

    2024/4/24 11:14:18
  3. Springboot与分布式(快速整合)

    介绍:在国内常用分布式是zookeeper+dubbo(阿里)组合,但springboot推荐使用的是springboot+springcloud的组合。1.首先介绍springboot与zookeeper+dubbo的整合。先在linux虚拟机中使用docker下载启动zookeeper容器(这里不详细说了,自己去学)pom中引入两个依赖:<!--引入du…...

    2024/4/28 23:00:18
  4. 计算机网络——应用层01

    文章目录域名系统DNS1.概述2.域名系统的结构层次树状结构域名分类:3.域名服务器和域名解析 域名系统DNS 1.概述 域名系统DNS是互联网使用的命名系统,用来把便于人们使用的机器名字转化为IP地址许多应用层软件经常直接使用域名系统,但计算机的用户只是间接的使用域名系统。 域…...

    2024/4/30 16:06:19
  5. Unity|播放声音(背景音乐)

    Unity|播放声音(背景音乐) 提要:声音播放主要涉及到Audio Source和Audio Listener两个组件 听声音的物体(大部分是Camera)添加Audio Listener 发出声音的物体Audio Source Play、Stop控制音乐的播放。1、在Hierarchy面板中找到Camera 2、给Camera加上Audio Listener组件 (…...

    2024/4/24 11:14:18
  6. 面试题30. 包含min函数的栈

    Java题解 简单明了 让我们实现栈,我们就手写个链表就好啦,每个节点加一个额外属性:当前最小值。private Node head;public MinStack() {}public void push(int x) {if (head == null)head = new Node(x, x, null);elsehead = new Node(x, Math.min(head.min, x), head);}pub…...

    2024/4/15 5:15:02
  7. 牛客:汽水瓶

    题目描述 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老…...

    2024/4/15 5:15:00
  8. 微信未验证应用(微信openSDK1.8.6的集成)

    可能最近有的朋友发现了某些App分享出去的内容在微信内显示未验证应用.但是不是每个版本的微信都这样. iOS接入指南在微信7.0.7(iOS 12-13)以及以上版本的分享可能会出现"未验证应用"(目前看来是iOS12-13有这个特性)这个主要是由于安全性考虑,微信将scheme跳转换成Un…...

    2024/4/16 19:12:54
  9. B-Q老师与十字叉

    B-Q老师与十字叉 一、题目描述 Q老师 得到一张 n 行 m 列的网格图,上面每一个格子要么是白色的要么是黑色的。Q老师认为失去了 十字叉 的网格图莫得灵魂. 一个十字叉可以用一个数对 x 和 y 来表示, 其中 1 ≤ x ≤ n 并且 1 ≤ y ≤ m, 满足在第 x 行中的所有格子以及在第 y …...

    2024/4/15 5:14:59
  10. 驰骋BPM,工作流引擎前台开发菜单列表 与页面组件对应关系

    驰骋BPM,工作流引擎前台开发菜单列表 - 与页面组件对应关系关键字流程引擎,表单引擎,菜单列表,对应关系. 工作功能组件名词解释工作流前台应用菜单:就是前台应用的菜单列表,比如:发起列表、待办列表、在途列表、已办列表、抄送列表等。这些列表都有对应的API, 调用之后返…...

    2024/4/24 11:14:14
  11. YOLO中LOSS函数的计算

    YOLO中LOSS函数的计算代码解读无目标位置confidence的delta:0 - l.output[obj_index]有目标位置confidence的delta:1 - l.output[obj_index]有目标位置坐标(x,y,w,h)的delta有目标位置class的delta代码分析和公式差异二分类交叉熵求梯度关于参数 关于YOLO中LOSS函数的文章很…...

    2024/4/24 11:14:13
  12. 练习1

    1、以下程序的运行结果是() int main(void) { p rintf("%s , %5.3s\n","computer","computer"); return 0; }答:computer , com %5.3表示:5 占几个字符的宽度,3 截取几个字符 即截取三个字符前面两个位用空格填补2、int *p[4] 与选择项中的…...

    2024/4/24 11:14:13
  13. node入门之“hello world”

    前端目前正处于技术爆炸的时期,随着互联网时代的发展,对于前端开发的要求也越来越高。node.js兴起后,已经成为前端不可缺少的必要技能,所以趁着时间充裕时,抓紧充充电。什么是nodeNode.js是 JavaScript 的一种运行环境。在此之前,JavaScript 都是在浏览器中执行的,用于给…...

    2024/4/24 11:14:14
  14. JS阻止默认行为实现自定义右击菜单栏

    阻止默认行为 首先了解通过preventDefault阻止默认行为,写个a标签跳转百度 此时可以跳转<a href="http://baidu.com" id="bd">跳转百度</a>通过e.preventDefault 阻止默认行为,让a标签不能跳转<a href="http://baidu.com" id=&q…...

    2024/4/24 11:14:13
  15. JavaSE基础复习题

    JavaSE基础复习题 1.如何更快实现2的3次方 如何实现任意数的任意次幂 代码如下: public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入基数num的值");int num=sc.nextInt();System.out.println("请输入幂po…...

    2024/4/24 11:14:10
  16. 《龙教授私享会职场沟通心法》20:给流程加点料

    作者:李睿龙 来自:龙教授私享会 声明:本文由李瑞龙先生授权发表,禁止抄袭或再次转载,否则,我们将通过正规法律手段维护相关合法权益。如何说才能尊重对方的角色、地位和自主权? 一、尊重对方的角色,同时鼓励对方扮演更有意义的角色; 二、承认对方地位,鼓励他用好手里…...

    2024/4/24 11:14:08
  17. 华为云终端被他人设置密码,如何解除?可以恢复出厂设置,消除密码!

    当我们需要对控制中心进行操作时,会弹出“密码验证”对话框,见下图:面对这样的情况,肯定是有人莫名设置了密码,我们可以恢复出厂设置,消除密码!具体以下步骤:1、云终端注销,重启;2、马上不停的(点按)按3个键<Ctrl+Alt+Shift>,直至出现BOIS英文界面,如下3、…...

    2024/4/24 11:14:10
  18. Java 数组排序——冒泡排序法

    冒泡排序 原理数组中的元素,按顺序两两相比,数值大的元素往后挪,第一遍比较完,则最大值出现在数组的最后代码 class ArrayTest{public static void main (String[] args){int[] arr = {20,13,11,9};Array a = new Array();a.paiXu(arr);} } class Array{public void paiXu(int[…...

    2024/4/17 0:27:56
  19. win10怎么关闭家庭组配置维护服务

    可能大家也会遇到这个问题,家庭组配置维修服务怎么关闭,win10系统占用磁盘空间很大,长时间使用可能会卡顿,造成运行速度过慢的情况,这时候可以选择关闭家庭组和自动维护程序,那么应该如何操作呢?别着急,小编这就为大家带来win10关闭家庭组配置维护服务的方法,感兴趣的…...

    2024/4/15 5:15:12
  20. 01_Python常见对象模型

    python的对象模型,也是其基本的数据结构一、Python最基础的数据结构开始:元组、列表、字典和集合1、元组(tuple)对象(1)创建元组:1)>>> tup = 4, 5, 6 >>> tup (4, 5, 6) >>> nexted_tup = (4, 5, 6), (1, 2) >>> nexted_tup ((4, 5,…...

    2024/4/17 0:28:01

最新文章

  1. Java项目:基于SSM框架实现的视康眼镜网店销售管理系统眼镜商城(ssm+B/S架构+源码+数据库+毕业论文+PPT)

    一、项目简介 本项目是一套基于SSM框架实现的视康眼镜网店销售管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简…...

    2024/4/30 18:07:05
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 【浅谈面向过程和面向对象的区别】

    面向对象和面向过程是两种不同的编程范式&#xff0c;它们在处理问题和构建软件时有着显著的区别。 一、面向过程 1、基本概念 面向过程编程是一种早期的程序设计范型&#xff0c;它以事件为中心&#xff0c;主要关注“怎么做”&#xff0c;即完成任务的具体步骤。它将问题分…...

    2024/4/30 10:16:31
  4. Vue组件的注册和使用方法

    全局注册​ 我们可以使用 Vue 应用实例的 .component() 方法&#xff0c;让组件在当前 Vue 应用中全局可用。 import { createApp } from vueconst app createApp({})app.component(// 注册的名字MyComponent,// 组件的实现{/* ... */} ) 如果使用单文件组件&#xff0c;你可以…...

    2024/4/29 3:49:45
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/29 23:16:47
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/29 6:03:24
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/29 14:21:50
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/30 9:43:22
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57