当前位置: 首页 > news >正文

fMRI时间序列振幅和相位对功能连接分析的影响

导读

目的:fMRI领域的一些研究使用瞬时相位(IP)表征(源自BOLD时间序列的解析表征)考察了脑区之间的同步性。本研究假设来自不同脑区的瞬时振幅(IA)表征可以为脑功能网络提供额外的信息。为此,本研究探索了静息态BOLD fMRI信号的这种表征,用于获得静息态网络(RSNs),并将其与基于IP表征的RSNs进行比较。

方法:从HCP数据集的500名被试中选取100名健康成人(年龄为20-35岁,54名女性)的静息态fMRI数据进行研究。使用3T扫描仪进行4次扫描(每次15min),相位编码方向为:从左到右(LR),从右到左(RL)。这4次扫描是在两个session中完成的,要求被试睁眼注视一个白色十字架。IA和IP表征来自使用希尔伯特变换的窄带滤波BOLD时间序列,并使用基于种子的方法来计算大脑中的RSNs。

结果:实验结果表明,在0.01-0.1Hz频率范围内,基于IA表征的RSNs在运动网络的两个session之间具有最高的相似性得分。而对于额顶网络,基于IP的激活图在所有频段上的相似性得分最高。对于更高的频段(0.198-0.25Hz),IA和IP表征在两个session中获得的RSNs的一致性都降低了。与基于IP表征的RSNs相比,融合IA和IP表征的RSNs使两个session中的默认模式网络之间的相似性得分提高了3-10%。此外,同样的比较表明,运动网络在频段[0.01-0.04Hz、0.04-0.07Hz、slow-5(0.01-0.027Hz)和slow-4(0.027-0.073Hz)]上提高了15-20%。在功能连接(FC)网络中,使用瞬时频率(IF)表征的两个session之间的相似性得分与使用IP表征获得的相似性得分相当。

结论:本研究结果表明,基于IA表征的方法可以估计RSNs,其session之间的可重复性与基于IP表征的方法相当。研究表明,IA和IP表征包含BOLD信号的补充信息,二者的融合改善了FC的结果。

前言

近十年来,功能性磁共振成像(fMRI)作为一种强大的非侵入性成像技术,利用血氧水平依赖(BOLD)对比来测量大脑活动和研究大脑功能。使用脑区对之间的BOLD时间序列的时间相关性来估计稳态功能连接(FC)。它通常通过计算跨脑区的fMRI时间序列之间的时间相关性来测量。FC主要是对被试在执行预定义任务(例如手指敲击或视觉任务)时获得的BOLD时间序列进行测量。然而,静息态下的脑区在半球内和跨半球之间存在显著的相关性,这引起了人们对定义静息态FC的兴趣。静息态下功能连接的区域称为静息态网络(RSNs),并且人们已经探索了各种统计方法来识别它们。基于种子的相关和数据驱动的方法,如独立成分分析(ICA)、聚类和主成分分析(PCA)技术是FC分析中常用的方法。在基于种子的相关方法中,首先根据假设或基于任务的激活图选择一个预定义的脑区,然后将该区域的时间序列与大脑中所有其他区域的时间序列进行相关性分析,以找到与之功能连接的区域网络。然而,像PCA或ICA这样的技术,则试图根据fMRI数据的内在结构来推断大脑活动。

人脑是一个复杂的非线性动态系统,为了研究人脑各区域之间的非线性功能关系,BOLD信号的解析表征一直是研究的热点。在这种方法中,实值BOLD信号时间序列通过窄带滤波器(带通滤波器通过小范围的频率),所得信号被用来获得一个复解析信号。这种复解析信号有两个组成部分:瞬时振幅(IA)和瞬时相位(IP)。IA始终为正,并包含BOLD信号中呈现的时变幅值信息。另一方面,IP信号提供了信号中存在的时变相位信息。在解析信号的这两种表征方法中,大多数研究都集中探索以IP表征为主的FC。估计的IP时间序列用于测量两个空间上不同的脑区之间的同步性。这些研究发现,在原始时间序列可能在时间上不相关的情况下,大脑区域之间存在特定的依赖关系(主要是相位相关)。

Liard及其同事(2002)开发了一种应用于fMRI数据的相位同步(PS)技术,以研究体素时间序列与基于事件的手指敲击任务的参考函数之间的相位锁定情况。分析显示,在原始时间序列可能不相关的情况下,它们的IP之间可能存在相互关系。Zhou等人(2010)探索了与电生理频率相关的不同频段的BOLD信号:slow-5(0.01-0.027Hz),slow-4(0.027-0.073Hz),slow-3(0.073-0.198Hz)和slow-2(0.198-0.25Hz)。研究结果表明,slow-5和slow-4频段主要与灰质有关,而slow-3和slow-2频段主要与白质有关,并伴有呼吸和心脏信号混叠。Huotari等人(2019)研究了采样率对静息态FC指标的影响,量化了时域、频域、空间域的稳态和动态分析。Glerean及其同事(2012)使用0.04-0.07Hz范围的窄频带进行PS分析,以避免被试在自然刺激下出现混叠伪影。该研究定义了几个基于IP的PS指标,即基于种子的相位同步(SBPS)、个体间相位同步(IPS)和基于个体间种子点的相位同步(ISBPS)作为动态FC的测量指标,以研究复杂的自然刺激和event/blocked设计范式。不同脑区的BOLD时间序列之间的全局相位同步反映了功能同步簇的动态关联和解离。Pedersen等人(2018)发现IP同步分析和基于相关性的滑动窗口方法在时间动态连接方面存在较强的关联。选择适当的窗长以及对fMRI数据进行窄带滤波(0.03-0.07Hz),IP方法和基于相关性的方法都提供了可比较的FC结果。基于小波变换的时频相干分析揭示了后扣带皮层与默认模式网络其他节点之间的相干性和相位变异性。

本研究分析了静息态下BOLD信号的IA和IP表征在检测功能连接脑区中的意义。在基于种子的FC框架下对静息态数据进行了IA分析,并观察了RSNs。研究发现,使用基于IA表征方法估计的大脑网络在整个session中是一致的,并且与基于IP表征的脑网络估计结果相当。使用Jaccard相似性对两个session的RSNs空间图结果的一致性进行了量化。本文还探讨了相位展开的一阶导数,即IF作为IP表征的替代方法,因为它可以避免与相位计算相关的任何歧义,并且可以进一步用于探索静息态的FC模式。此外,本研究还探索了用于BOLD信号窄带滤波的不同频段,将感兴趣的频段(0.01-0.1Hz)分割成更小的等宽频段:0.01-0.04Hz、0.04-0.07Hz和0.07-0.1Hz,以观察基于IA、IF和IP表征方法在每个子频段上的RSNs。除了这些频段之外,本文还考察了Zhou等人(2010)中提到的低频段,其频率范围为0.01-0.25Hz。在整个session中观察到使用不同频段产生的激活图的一致性。对于本研究中探讨的所有频段,两个session中基于IA表征的RSNs获得的相似性得分与基于IP表征的方法获得的相似性得分相当。当考虑到所得RSNs在不同频段上的可重复性时,对于部分RSNs,基于IA的方法表现较好(如运动网络),而对于某些RSNs,基于IP表征的方法表现较好(如额顶网络)。将基于IA和IP表征方法的RSNs融合后,两个session之间的相似性评分比它们各自的评分都有所提高。

材料和方法

通过希尔伯特变换得到真实信号的解析表征(由Gabor提出),已被广泛用于语音信号处理、脑电图(EEG)和脑磁图(MEG)。然而,近二十年来,人们对fMRI信号的处理方法进行了大量的研究。解析表征是一种常用的调幅和调频(AM-FM)信号分解方法,用于分析信号中呈现的时变振幅和频率内容。对于实值窄带通滤波BOLD信号x(n),利用希尔伯特变换可以得到解析信号xa(n):

其中,H[.]为x(n)的希尔伯特变换,j为虚数单位,a(n)是IA,φ(n)是IP。解析信号xa(n)与x(n)具有相同的傅里叶变换,且负频率分量为零。根据Bedrosian定理,如果带通滤波器的带宽足够窄,则x(n)可以根据其IA和IP定义为:

振幅a(n)和相位φ(n)分量对于信号的精确重建都很重要。信号参数φ(n)采用arc-tan估计,取值范围为-π到+π,并且存在相位环绕问题。然而,相位展开的一阶导数称为IF,可用于避免相位环绕问题。窄带解析信号的IF可以解释为局部拟合信号的正弦波频率,从而描绘信号中的时变频率内容。IF表征不需要相位信号计算,可计算如下:

其中Re为表达式的实部,xa(k)为xa(n)的离散傅里叶变换,F−1表示离散傅里叶逆变换,N为信号长度。图1显示了高斯调制模拟信号x(n)的IA、IP和IF表征,其频率内容先从0.2到0.03Hz下降(到信号长度的一半),然后再从0.03到0.2Hz增加(至信号末端)。从图中可以看出,IA(a(n))给出了模拟信号的包络x(n)。在IP信号中可以看到频率的变化(φ(n))。还应该注意的是,相位位于-π至+π范围内,因此是一个包裹相位。IF信号φ'(n)表示信号的频率内容。

图1.模拟信号x(n)的IA、IP和IF表征,x(n)是一个高斯调制信号,其频率沿时间轴在0.03-0.2Hz范围内变化。IA(a(n))、IP(φ(n))和IF(φ'(n))表征分别显示了解析信号(xa(n))中的时变振幅、相位和频率内容。

fMRI数据描述

本研究从人类连接组项目(HCP)数据集的500名被试中选取100名健康成人(年龄为20-35岁,54名女性)的静息态fMRI数据进行研究。使用3T扫描仪进行4次扫描(每次15min),相位编码方向为:从左到右(LR),从右到左(RL)。这4次扫描是在两个session中完成的,要求被试睁眼注视一个白色十字架。采用重复时间(TR)=720ms,回波时间(TE)=33.1ms,层厚2.0mm,回波平面成像(EPI)加速度因子=8采集静息态图像。

分析框架

图2显示了进行FC分析的分析框架。整个流程分为以下三个阶段,阶段1:信号预处理;阶段2:信号转换和表征提取;阶段3:FC分析。阶段1包括fMRI数据的标准预处理,然后在所需范围内对BOLD信号进行滤波(频带为fC1-fC2 Hz的Butterworth四阶带通滤波器,其中fC1和fC2分别表示带通滤波器的低截止频率和高截止频率)。对于基于BOLD表征的方法,期望的频率范围为0.01-0.1Hz,这是rs-fMRI FC分析中广泛使用的频率范围。然而,对于基于IA、IF和IP表征的方法,本研究探索了fC1和fC2的多种选择。窄带滤波后的真实BOLD信号被转换为复解析信号。然后在第2阶段,从该解析信号中提取IA、IF和IP表征。

图2.使用BOLD、IA、IP和IF表征对rs-fMRI数据进行FC分析的分析框架。

本研究使用“最小预处理”HCP的静息态数据,即优化的空间预处理数据。预处理步骤包括去除各种空间伪影和头动校正。然后,将时间序列数据与结构数据和2mm标准(MNI)空间对齐。对整个数据集进行全局强度归一化,并去除非脑体素。第3阶段包括FC分析。这里使用基于种子的方法,从各自的网络中选择种子点,并计算种子表征时间序列与大脑中其余体素表征时间序列之间的线性相关性。然而,对于基于IP的连接图,相位锁定值(PLV)指标是根据种子的IP时间序列和其余体素的IP时间序列之间的相位差进行计算的。每种方法的激活图是每个session中被试特异性激活图的平均值。

结果

对于IA、IF和IP表征,本文将BOLD信号在以下频率范围内进行窄带滤波:0.01-0.04Hz;0.04-0.07Hz;0.07-0.1Hz;0.01-0.027Hz;0.027-0.073Hz;0.073-0.198Hz和0.198-0.25Hz。图3展示了本研究中从横向视觉网络区域提取的两个BOLD时间序列的所有三种表征。种子和目标体素分别用黑色和蓝色突出显示(种子位置用绿色十字准线突出显示)。假设如果两个区域同步,则它们的IP时间序列具有恒定的相位差。PLV指标在EEG/MEG数据中被广泛用于评估两个IP时间序列之间的PS,如下所示:

其中,<>为n个样本上的平均值,Δφ(n)为相位差时间序列。PLV=0(表示两个时间序列不同步);PLV=1(表示两个时间序列高度同步)。

图3.从外侧视觉区域的两个体素中提取滤波后的BOLD(0.04-0.07Hz)信号,得到BOLD、IA、IF和IP表征。

Session 1中的前默认模式网络(aDMN)、后默认模式网络(pDMN)、背侧注意网络(DAN)、运动网络、外侧视觉网络(Lat.Visual)和额顶网络(FP)的激活图如(图4-5)所示。采用基于种子的FC方法获得基于BOLD、IA和IF表征的RSNs,其中种子位置(MNI坐标)如下:aDMN(2,44,−10),pDMN(6,−54,26),DAN(60,−24,12),FP(−46,−50,46),Lat.Visual(31,−94,2)和运动网络(30,−38,68)。对于IP表征,使用PLV指标作为空间上不同脑区IP时间序列之间同步的度量。对于使用Fisher’s z变换FC值的所有表征,都显示了显著的功能连接空间图(p<0.05)。对于每个session,包含两次run:从左到右(LR)、从右到左(RL),对于每个被试,分别计算每次run的FC矩阵,然后计算两次run的平均FC矩阵以便进一步分析。生成的激活图(如图4和图5所示)是每个session中个体被试激活图的平均值。可以观察到,基于BOLD信号的转换表征:基于IA,IP和IF表征的方法能够复现与基于BOLD表征方法获得的RSNs相似的静息态大脑FC模式,但有些差异不显著。将这些基于表征方法的激活图(图6-7)成对地融合,说明了此处所示的所有RSNs空间图的相似性。

图4.在BOLD、IA、IF和IP表征上,使用基于种子的FC方法对session 1的外侧视觉网络、aDMN和FP网络的矢状面、冠状面和轴位面视图进行分析(此处,BOLD信号用fC1=0.04Hz和fC2=0.07Hz进行窄带滤波,并使用此滤波信号计算解析信号)。十字准线位于每个激活图的种子位置,颜色条表示z分数值。

图5.在BOLD、IA、IF和IP表征上,使用基于种子的FC方法对session 1的DAN、pDMN和运动网络的矢状面、冠状面和轴位面视图进行分析(此处,BOLD信号用fC1=0.04Hz和fC2=0.07Hz进行窄带滤波,并使用此滤波信号计算解析信号)。十字准线位于每个激活图的种子位置,颜色条表示z分数值。

图6.基于BOLD-IP、BOLD-IA和BOLD-IF表征方法的RSNs激活图重叠。这里显示了两种激活图的加性融合,为了可视化,蓝色用于第一种表征方法,红色用于第二种表征方法,黄色用于两种表征方法的结合。例如,在BOLD-IP重叠图中,仅在BOLD激活图中激活的体素用蓝色表示,仅在基于IP的激活图中激活的体素用红色表示,而在BOLD和基于IP的方法中都激活的体素用黄色表示。

图7.基于IP-IA和IA-IF表征方法的RSNs激活图重叠。

本研究探索了截止频率的多种选择(fC1,fC2)来对BOLD信号进行滤波(用于提取IA、IF和IP表征)。为了探索频率对估计FC的影响,本研究还分析了比文献建议的PS分析频段(0.04-0.07Hz)更低和更高的频段(0.01-0.04Hz和0.07-0.1Hz),以涵盖传统静息态研究使用的整个低频范围(0.01-0.1Hz)。除了这些频段,本文还探索了Zhou等人(2010)所描述的低频子频段,这些子频段涵盖了与大脑灰质和白质组织相关的频率。图8显示了本研究中使用的基于IA、IF和IP表征的方法在不同频段获得的两个RSN(外侧视觉和aDMN)的加性融合。可以观察到,所有三种表征的种子共激活区域在所有频段中占主导地位,因此表明这些表征获得的RSNs具有相似性。

图8.基于IA、IF和IP表征的外侧视觉网络和aDMN网络在不同频段上的重叠。

本研究观察了每个频段的RSNs,并且在两个静息态fMRI session之间计算这些表征,用于估计FC的可靠性。利用Jaccard相似性(JS)得分计算两个session空间图之间的相似性,作为可靠性的衡量指标。图9显示了基于IA、IP和IF表征的所有频段(0.01-0.04Hz、0.04-0.07Hz、0.07-0.1Hz、0.01-0.027Hz、0.027-0.073Hz、0.073-0.198Hz和0.198-0.25Hz)的RSN在两个session之间的JS分数。

图9.对不同频段的fMRI信号进行(IA、IP、IF和BOLD)表征,得到两个session的RSNs之间的JS分数。

对于本研究中的所有RSNs,基于IA表征的方法与基于IP表征的方法(PLV)具有相当的相似性得分。因此,它可以被认为是计算FC的可靠度量。基于IF表征得到的估计FC是有噪声的(由一些在感兴趣网络区域之外活动的体素组成),因此是所有表征方法中最不可靠的。

BOLD信号的IA、IF和IP表征中的补充信息通过融合每个表征在特定频段(0.04-0.07Hz)所获得的RSNs(平均)来说明。融合IA和IP表征的RSNs使得默认模式网络和运动网络在两个session之间的JS得分比基于IP表征的得分,分别提高了3-10%和15-20%。值得注意的是,IF和IP表征的RSNs没有融合,因为两者提供的都是相位信息(相位和相位的导数)。对于基于IA-IP融合的RSNs,两个session在频段(0.01-0.04Hz,0.04-0.07Hz,slow-5和slow-4)上的相似性得分有所提高(图10)。但对于其余频段,任何RSNs均未见显著提高。

图10.通过组合不同频段的fMRI信号(IA-IP和IA-IF)表征获得的两个session RSNs之间的Jaccard相似性得分。

结论

本研究使用解析信号的振幅(IA)、相位(IP)和频率(IF)表征对100名被试的静息态fMRI数据进行了FC图分析。使用基于种子的方法来演示RSNs,该方法使用最为广泛,可用于寻找与所选种子点存在功能连接的区域。使用这些基于表征的方法,得到了aDMN、pDMN、DAN、FP网络、外侧视觉网络和运动网络的FC激活图。这些基于表征的方法(IP-IA和IP-IF)在空间图上的相似性表明,所有表征方法都可以很好地探索静息态下的FC。通过JS分数计算的基于IA、IF和IP表征方法(对于在两个session中获得的RSNs)的可靠性表明,基于IA表征的FC图在session之间具有良好的相似性得分,与基于IP表征的方法相当。本研究发现,使用IF表征获得的RSNs低于使用IA和IP表征方法获得的RSNs,但并不差。这可能是因为BOLD信号是一个缓慢变化的信号,因此由IF表征的展开相位梯度不能增强BOLD信号对共激活体素的判别因子。

fMRI FC的一致性已使用组内相关系数(ICC)指标进行了广泛的评估。ICC值越高表示可靠性越高,而ICC值越低表示可靠性越差。一些研究表明,高连接强度的连接具有高可靠性,并且session之间的ICC分数通常在0.1-0.75之间。与上述研究相比,本研究的相似性度量,即Jaccard系数值更高,范围从0.35-0.93。其原因可能是,本研究考虑了各种窄带频率,用于从BOLD时间序列中提取不同的表征(IA、IP和IF),并计算使用相同方法获得的两个session之间的功能连接图的相似性,这可能会导致比之前的方法使用宽带BOLD时间序列获得的相似性分数更高。使用rs-fMRI信号的实验结果表明,基于IA和IP表征的成功取决于所采用的滤波器的范围和带宽。理想情况下,滤波后的信号(解析信号)应该具有单频分量,以获得有意义的表征。但应该注意的是,由于BOLD信号是缓慢变化的信号(0.01-0.25Hz),因此在低频范围(0.04-0.07Hz)中使用可变窄带滤波器将不会捕获IA或IP信号中的重要细节,而IA或IP信号负责测量两个区域之间的同步。此外,在高频范围内使用滤波频段也可能无法从缓慢变化的BOLD信号中提供有用的表征。这可能就是使用未滤波的BOLD信号获得的JS分数比使用IA、IF和IP表征获得的分数更好或略差的原因。

原文:P. Mittal, A.K. Sao and B. Biswal, Impact of amplitude and phase of fMRI time series for functional connectivity analysis, Magnetic Resonance Imaging (2023), https://doi.org/10.1016/j.mri.2023.04.002

相关文章:

fMRI时间序列振幅和相位对功能连接分析的影响

导读 目的&#xff1a;fMRI领域的一些研究使用瞬时相位(IP)表征(源自BOLD时间序列的解析表征)考察了脑区之间的同步性。本研究假设来自不同脑区的瞬时振幅(IA)表征可以为脑功能网络提供额外的信息。为此&#xff0c;本研究探索了静息态BOLD fMRI信号的这种表征&#xff0c;用于…...

备战2个月,四轮面试拿下字节offer...

背景 菜 J 一枚&#xff0c;本硕都是计算机&#xff08;普通二本&#xff09;&#xff0c;2021 届应届硕士&#xff0c;软件测试方向。个人也比较喜欢看书&#xff0c;技术书之类的都有看&#xff0c;最后下面也会推荐一些经典书籍。 先说一下春招结果&#xff1a;拿下了四个…...

关于Nginx

一、常见的“服务器中间件”&#xff08;即http server-web中间件&#xff09;有哪些 Tomcat、Jboss、Apache、WeBlogic、Jetty、webSphere、Nginx、IIS 二、nginx的特点 1.性能高&#xff0c;能承受5万并发每秒&#xff1b; 2.内存、磁盘&#xff0c;读取消耗空间小。 三、…...

tensorflow中的共享变量

&#xff08;1&#xff09;用途 在构建模型时&#xff0c;需要使用tf.Variable来创建一个变量&#xff08;也可以理解成节点&#xff09;。但在某种情况下&#xff0c;一个模型需要使用其他模型创建的变量&#xff0c;两个模型一起训练。此时需要用到共享变量。这时就是通过引…...

flink cep数据源keyby union后 keybe失效

问题背景&#xff1a;cep模板 对数据源设置分组条件后&#xff0c;告警的数据&#xff0c;和分组条件对不上&#xff0c; 掺杂了&#xff0c;其他的不同组的数据&#xff0c;产生了告警 策略条件&#xff1a; 选择了两个kafka的的topic的数据作为数据源&#xff0c; 对A 数据…...

python中的继承与多态,dir()函数

Python继承 在继承关系中&#xff0c;已有的、设计好的类称为父类或基类&#xff0c;新设计的类称为子类或派生类。派生类可以继承父类的公有成员&#xff0c;但是不能继承其私有成员。如果需要在派生类中调用基类的方法&#xff0c;可以使用内置函数super()或者通过“基类名.…...

C++练级之初级:第五篇

C练级之初级&#xff1a;第五篇 第五篇 C练级之初级&#xff1a;第五篇1.auto关键字2.for循环改进3.指针空值nullptr4.内联函数4.1内联函数的概念4.2内联函数的注意点 总结 1.auto关键字 &#x1f914;什么是auto(automatic的缩写&#xff0c;自动的意思)关键字&#xff1f; au…...

JMeter的使用(二)

九、直连数据库 通过直连数据库让程序代替接口访问数据库&#xff0c;如果二者预期结果不一致&#xff0c;就找到了程序缺陷。 获取某条学院的名字&#xff0c;放在百度搜索: JMeter 不具备直连数据库功能&#xff0c;必须整合第三方(jar包)实现配置数据库的连接通过JDBC Re…...

C/C++文件操作/IO流

学习任务&#xff1a; ⭐认识文件。⭐学习C语言中文件如何打开和关闭。⭐学习C语言中文件的读写方法&#xff08;包括顺序读写和随机读写&#xff09;。⭐学习C语言文件操作中如何判断文件读取结束。⭐简单了解FILE缓冲区。⭐认识流。⭐学习C的IO流&#xff0c;包括标准IO流和文…...

推荐 7 个超牛的 Spring Cloud 实战项目

个 把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务&#xff0c;这就是微服务架构的架构概念&#xff0c;通过将功能分解到各个离散的服务中以实现对解决方案的解耦。 关于微服务相关的学习资料不多&#xff0c;而 GitHub 上的开源项目可以作为你微服务之旅…...

Linux信号:信号 信号集 信号集函数

1. 信号的概念 Linux进程间通信的方式之一。信号也称为“软件中断”。 信号特点&#xff1a; 简单&#xff1b;携带信息有限&#xff1b;满足特定条件才发送信号&#xff1b;可进行用户空间和内核空间进程的交互&#xff1b; 信号4要素&#xff1a; &#xff08;1&#xf…...

详解八大排序算法-附动图和源码(插入,希尔,选择,堆排序,冒泡,快速,归并,计数)

目录 &#x1f34f;一.排序的概念及应用&#x1f34f; 1.排序的概念 2.排序的应用 3.常用的排序算法 &#x1f34e;二.排序算法的实现&#x1f34e; 1.插入排序 1.1直接插入排序 1.2希尔排序&#xff08;缩小增量排序&#xff09; 2.选择排序 2.1直接选择排序 2.2堆排序…...

网络编程--协议、协议族、地址族

写在前面 这里先介绍下socket函数&#xff08;Windows版本&#xff09;的函数声明&#xff0c;后续内容均围绕该声明展开&#xff1a; #include <winsock2.h> //af: 指定该套接字的协议族 //type: 指定该套接字的数据传输方式 //protocol: 指定该套接字的最终协议 //返…...

Linux入门操作

pwd 查看当前目录 与 自动补全 文件详情 drwxrwxr-x d代表文件夹 -代表文件 其中rwx rwx r-x r是可读 w是可写 x 执行 第一组&#xff08;前三个&#xff09;指文件拥有者的权限 第二组&#xff08;中三个&#xff09;代表文件拥有的组的权限 第三组&#xff08;后三个&am…...

1。C语言基础知识回顾

学习嵌入式的C基础知识&#xff0c;主要包括几个核心知识点&#xff1a;三大语法结构、常用的数据类型、函数、结构体、指针、文件操作。 一、顺序结构 程序自上而下依次执行、没有分支、代码简单。 常见顺序结构有&#xff1a;四则运算&#xff1a;&#xff0c;-&#xff0…...

学习如何通过构建一个简单的JavaScript颜色游戏来操作DOM

学习如何通过构建一个简单的JavaScript颜色游戏来操作DOM 题目要求 我们将构建一个简单的颜色猜谜游戏。每次游戏启动时&#xff0c;都会选择一个随机的RGB颜色代码。根据游戏模式&#xff0c;我们将在屏幕上提供三个&#xff08;简单&#xff09;或六个&#xff08;困难&…...

【算法学习】—n皇后问题(回溯法)

【算法学习】—n皇后问题(回溯法) 1. 什么是回溯法&#xff1f; 相信"迷宫"是许多人儿时的回忆&#xff0c;大家小时候一定都玩过迷宫游戏。我们从不用别人教&#xff0c;都知道走迷宫的策略是&#xff1a; 当遇到一个岔路口&#xff0c;会有以下两种情况&#xf…...

万亿OTA市场进入新爆发期,2025或迎中国汽车软件付费元年

伴随智能汽车市场规模发展&#xff0c;越来越多的汽车产品具备OTA能力&#xff0c;功能的优化、以及服务的差异化&#xff0c;成为了车企竞争的新战场。 例如&#xff0c;今年初&#xff0c;问界M5 EV迎来了首次OTA升级&#xff0c;升级内容覆盖用户在实际用车中的多个场景&am…...

Android硬件通信之 蓝牙Mesh通信

一&#xff0c;简介 蓝牙4.0以下称为传统蓝牙&#xff0c;4.0以上是低功耗蓝牙&#xff0c;5.0开始主打物联网 5.0协议蓝牙最重要的技术就是Mesh组网&#xff0c;实现1对多&#xff0c;多对多的无线通信。即从点对点传输发展为网络拓扑结构&#xff0c;主要领域如灯光控制等&…...

PG数据库实现bool自动转smallint的方式

删除函数&#xff1a; 语法&#xff1a; DROP FUNCTION IF EXISTS your_schema_name.function_name(arg_type1, arg_type2) CASCADE RESTRICT; 实例&#xff1a; DROP FUNCTION IF EXISTS platformyw.boolean_to_smallint(bool) CASCADE RESTRICT; 查询是否存在函数 语法: SELE…...

易观千帆 | 2023年3月证券APP月活跃用户规模盘点

易观&#xff1a;2023年3月证券服务应用活跃人数14131.58万人&#xff0c;相较上月&#xff0c;环比增长0.61%&#xff0c;同比增长0.60%&#xff1b;2023年3月自营类证券服务应用Top10 活跃人数6221.44万人&#xff0c;环比增长0.08%&#xff1b;2023年3月第三方证券服务应用T…...

2023年江苏专转本成绩查询步骤

2023年江苏专转本成绩查询时间 2023年江苏专转本成绩查询时间预计在5月初&#xff0c;参加考试的考生&#xff0c;可以关注考试院发布的消息。江苏专转本考生可在规定时间内在省教育考试院网&#xff0c;在查询中心页面中输入准考证号和身份证号进行查询&#xff0c;或者拨…...

JavaScript中sort()函数

sort()函数是javascript中自带函数&#xff0c;这个函数的功能是排序。 使用sort()函数时&#xff0c;函数参数如果不设置的话&#xff0c;以默认方式进行排序&#xff0c;就是以字母顺序进行排序&#xff0c;准确的讲就是按照字符编码的顺序进行排序。 var arr [3,2,3,34,1…...

泰克Tektronix DPO5204B混合信号示波器

特征 带宽&#xff1a;2 GHz输入通道&#xff1a;4采样率&#xff1a;1 或 2 个通道上为 5 GS/s、10 GS/s记录长度&#xff1a;所有 4 个通道 25M&#xff0c;50M&#xff1a;1 或 2 个通道上升时间&#xff1a;175 皮秒MultiView zoom™ 记录长度高达 250 兆点>250,000 wf…...

突破传统监测模式:业务状态监控HM的新思路

作者&#xff1a;京东保险 管顺利 一、传统监控系统的盲区&#xff0c;如何打造业务状态监控。 在系统架构设计中非常重要的一环是要做数据监控和数据最终一致性&#xff0c;关于一致性的补偿&#xff0c;已经由算法部的大佬总结过就不在赘述。这里主要讲如何去补偿&#xff…...

0Ω电阻在PCB板中的5大常见作用

在PCB板中&#xff0c;时常见到一些阻值为0Ω的电阻。我们都知道&#xff0c;在电路中&#xff0c;电阻的作用是阻碍电流&#xff0c;而0Ω电阻显然失去了这个作用。那它存在于PCB板中的原因是什么呢&#xff1f;今天我们一探究竟。 1、充当跳线 在电路中&#xff0c;0Ω电阻…...

分布式消息队列Kafka(三)- 服务节点Broker

1.Kafka Broker 工作流程 &#xff08;1&#xff09;zookeeper中存储的kafka信息 ​ 1&#xff09;启动 Zookeeper 客户端。 [zrclasshadoop102 zookeeper-3.5.7]$ bin/zkCli.sh ​ 2&#xff09;通过 ls 命令可以查看 kafka 相关信息。 [zk: localhost:2181(CONNECTED) 2]…...

蠕动泵说明书_RDB

RDB_2T-S蠕 动 泵 概述 蠕动灌装泵是一种高性能、高质量的泵。采用先进的微处理技术及通讯方式做成的控制器和步进电机驱动器&#xff0c;配以诚合最新研制出的泵头&#xff0c;使产品在稳定性、先进性和性价比上达到一个新的高度。适用饮料、保健品、制药、精细化工等诸流量…...

浅谈react如何自定义hooks

react 自定义 hooks 简介 一句话&#xff1a;使用自定义hooks可以将某些组件逻辑提取到可重用的函数中。 自定义hooks是一个从use开始的调用其他hooks的Javascript函数。 下面以一个案例: 新闻发布操作&#xff0c;来简单说一下react 自定义 hooks。 不使用自定义hooks时 …...

如何优雅的写个try catch的方式!

软件开发过程中&#xff0c;不可避免的是需要处理各种异常&#xff0c;就我自己来说&#xff0c;至少有一半以上的时间都是在处理各种异常情况&#xff0c;所以代码中就会出现大量的try {...} catch {...} finally {...} 代码块&#xff0c;不仅有大量的冗余代码&#xff0c;而…...