计算方法 期末总结

思维导图
在这里插入图片描述

绪论

算法的性质:
有穷性、确切性、有输入输出、可行性
算法的描述方法:
自然语言、伪代码、流程图、N-S流程图
算法设计思想:

  • 化大为小的缩减技术:二分法
  • 化难为易的校正技术:开方法
  • 化粗为精的松弛技术:加权平均 超松弛 割圆术

误差来源:

  • 模型/描述误差
  • 观测误差
  • 舍入如茶
  • 初值误差

计算方法只研究后两类误差

误差的度量:
绝对误差 e ( x ∗ ) = x − x ∗ e(x^*)=x-x^* e(x)=xx
绝对误差限 ∣ e ( x ∗ ) ∣ = ∣ x − x ∗ ∣ < ε |e(x^*)|=|x-x^*|<\varepsilon e(x)=xx<ε
相对误差 e r ( x ∗ ) = e ( x ∗ ) / x ≈ e ( x x ) / x ∗ e_r(x^*)=e(x^*)/x\approx e(x^x)/x^* er(x)=e(x)/xe(xx)/x
相对误差限
有效数字:
x ∗ = 1 0 m ∗ x 1 x 2 x 3 . . . . x p x^*=10^m *x_1x_2x_3....x_p x=10mx1x2x3....xp
∣ e ∣ < = 0.5 ∗ 1 0 m − n |e|<=0.5*10^{m-n} e<=0.510mn,则具有n位有效数字
x ∗ x^* x准确到末位时,称有效数

选择算法原则:

  • 避免相近的数相减
  • 避免很小的数作分母
  • 避免大数淹没小数
  • 选用稳定性好的算法

插值

用多项式替代真实函数,该多项式存在且唯一(克莱姆法则证明)

拉格朗日插值

L n ( x ) = ∑ i = 0 n φ i ( x ) y i = ∑ i = 0 n ( ∏ j = 0 , j ! = i n x − x j x i − x j ) y i L_n(x)=\sum_{i=0}^n\varphi _i(x)y_i=\sum_{i=0}^n( {\textstyle \prod_{j=0,j!=i}^{n}\frac{x-x_j}{x_i-x_j} } )y_i Ln(x)=i=0nφi(x)yi=i=0n(j=0,j!=inxixjxxj)yi
其中, φ ( x ) \varphi(x) φ(x)是插值基函数
本质上拉格朗日插值函数是加权和
特点:

  • 插值点需要等距
  • 新点进入需要重新计算基函数
  • 高次插值的精度不一定高,可能产生龙格现象

牛顿插值

差商:
零阶差商: f ( x i ) = y i f(x_i)=y_i f(xi)=yi
一阶差商: f ( x i , x j ) = f ( x j ) − f ( x i ) x j − x i f(x_i,x_j)=\frac{f(x_j)-f(x_i)}{x_j-x_i} f(xi,xj)=xjxif(xj)f(xi)
二阶差商: f ( x i , x j , x k ) = f ( x j , x k ) − f ( x i , x j ) x k − x i f(x_i,x_j,x_k)=\frac{f(x_j,x_k)-f(x_i,x_j)}{x_k-x_i} f(xi,xj,xk)=xkxif(xj,xk)f(xi,xj)
可用表格法计算差商,对角线上的是系数
牛顿插值多项式:
p n ( x ) = f ( x 0 ) + f ( x 0 , x 1 ) ( x − x 0 ) + . . . + f ( x 0 , x 1 , . . . , x n ) ( x − x 0 ) ( x − x 1 ) . . . ( x − x n − 1 ) p_n(x)=f(x_0)+f(x_0,x_1)(x-x_0)+...+f(x_0,x_1,...,x_n)(x-x_0)(x-x_1)...(x-x_{n-1}) pn(x)=f(x0)+f(x0,x1)(xx0)+...+f(x0,x1,...,xn)(xx0)(xx1)...(xxn1)
特点:

  • 和拉格朗日插值结果一致
  • 不需要重新计算基函数
  • 不需要插值点等距

埃米尔特Hermite插值(切触插值)

两点三次插值:
p 3 ( x ) = y 0 φ 0 ( x ) + y 1 φ 1 ( x ) + y 0 ′ ψ 0 ( x ) + y 1 ′ ψ 1 ( x ) p_3(x)=y_0\varphi_0(x)+y_1\varphi_1(x)+y_0'\psi _0(x)+y_1'\psi _1(x) p3(x)=y0φ0(x)+y1φ1(x)+y0ψ0(x)+y1ψ1(x)
其中 φ 0 ( x ) = ( 1 + 2 x − x 0 x 1 − x 0 ) ( x − x 1 x 0 − x 1 ) 2 \varphi_0(x)=(1+2\frac{x-x_0}{x_1-x_0} )(\frac{x-x_1}{x_0-x_1} )^2 φ0(x)=(1+2x1x0xx0)(x0x1xx1)2
φ 1 ( x ) = ( 1 + 2 x − x 1 x 0 − x 1 ) ( x − x 0 x 1 − x 0 ) 2 \varphi_1(x)=(1+2\frac{x-x_1}{x_0-x_1} )(\frac{x-x_0}{x_1-x_0} )^2 φ1(x)=(1+2x0x1xx1)(x1x0xx0)2
ψ 0 ( x ) = ( x − x 0 ) ( x − x 0 x 0 − x 1 ) 2 \psi_0(x)=(x-x_0)(\frac{x-x_0}{x_0-x_1} )^2 ψ0(x)=(xx0)(x0x1xx0)2
ψ 1 ( x ) = ( x − x 1 ) ( x − x 0 x 1 − x 0 ) 2 \psi_1(x)=(x-x_1)(\frac{x-x_0}{x_1-x_0} )^2 ψ1(x)=(xx1)(x1x0xx0)2
特点:

  • 具有导数值

分段插值

大一统的方法,在段内,想用哪种插就用哪种插!

数值积分

正统方法是牛顿-莱布尼茨公式,但是我们又算不出来,不想算,咋办呢

代数精度

一个公式,对于不超过m次的任意多项式都准确,但对m+1次有不准确的,那么具有m阶代数精度。
简化一下,用1,x, x 2 x^2 x2往里带就行

机械求积

∫ a b f ( x ) d x = ( b − a ) ∑ i = 0 n λ i f ( x i ) \int_{a}^{b} f(x)dx=(b-a)\sum_{i=0}^n\lambda_if(x_i) abf(x)dx=(ba)i=0nλif(xi) 加权和

梯形求积公式

∫ a b f ( x ) d x = ( b − a ) / 2 ( f ( a ) + f ( b ) ) \int_{a}^{b} f(x)dx=(b-a)/2 (f(a)+f(b)) abf(x)dx=(ba)/2(f(a)+f(b))

牛顿-科特斯公式

将求积区间[a,b]划分为n等分,用等分点构造拉格朗日插值,用L(x)代替f(x)

n求积系数1求积系数2求积系数3求积系数4求积系数5
11/21/2
21/64/61/6
31/83/83/81/8
47/9016/452/1516/457/90

其中n=1为梯形求积公式,n=2为辛普森公式,n=4为科特四公式
奇数的代数精度和前一个偶数一样,所以正常人没人用奇数的
代数精度分别为1,3,3,5

复化求积公式

跟分段插值一样
复化梯形: I = b − a 2 n ( f ( a ) + 2 ∑ i = 1 n − 1 f ( x i ) + f ( b ) ) I=\frac{b-a}{2n}(f(a)+2 {\textstyle \sum_{i=1}^{n-1}}f(x_i)+f(b)) I=2nba(f(a)+2i=1n1f(xi)+f(b))
复化辛普森公式: I = b − a 6 n ( f ( a ) + 4 ∑ i = 0 n − 1 f ( x i + 1 / 2 ) + 2 ∑ i = 1 n − 1 f ( x i ) + f ( b ) ) I=\frac{b-a}{6n}(f(a)+4 {\textstyle \sum_{i=0}^{n-1}}f(x_{i+1/2})+2{\textstyle \sum_{i=1}^{n-1}f(x_i)}+f(b)) I=6nba(f(a)+4i=0n1f(xi+1/2)+2i=1n1f(xi)+f(b))
复化柯特斯公式: I = b − a 90 n ( f ( a ) + 32 ∑ i = 0 n − 1 f ( x i + 1 / 4 ) + 12 ∑ i = 0 n − 1 f ( x i + 1 / 2 ) + 32 ∑ i = 0 n − 1 f ( x i + 3 / 4 ) + 14 ∑ i = 1 n − 1 f ( x i ) + 7 f ( b ) ) I=\frac{b-a}{90n}(f(a)+32 {\textstyle \sum_{i=0}^{n-1}}f(x_{i+1/4})+12 {\textstyle \sum_{i=0}^{n-1}}f(x_{i+1/2})+32 {\textstyle \sum_{i=0}^{n-1}}f(x_{i+3/4})+14 {\textstyle \sum_{i=1}^{n-1}}f(x_{i})+7f(b)) I=90nba(f(a)+32i=0n1f(xi+1/4)+12i=0n1f(xi+1/2)+32i=0n1f(xi+3/4)+14i=1n1f(xi)+7f(b))

龙贝格算法(kao)?

T 1 = ( b − a ) / 2 ( f ( a ) + f ( b ) ) T_1=(b-a)/2 (f(a)+f(b)) T1=(ba)/2(f(a)+f(b)) 一个梯形
T 2 n = 1 / 2 T 1 + 2 / h ∑ i = 0 n − 1 f ( x i + 1 / 2 ) T_{2n}=1/2 \ T_1+2/h\ {\textstyle \sum_{i=0}^{n-1}}f(x_{i+1/2}) T2n=1/2 T1+2/h i=0n1f(xi+1/2)
S n = 4 / 3 T 2 n − 1 / 3 T n S_n=4/3\ T_{2n}-1/3 \ T_n Sn=4/3 T2n1/3 Tn
C n = 16 / 15 S 2 n − 1 / 15 S n C_n=16/15\ S_{2n}-1/15 \ S_n Cn=16/15 S2n1/15 Sn
R n = 64 / 63 C 2 n − 1 / 63 C n R_n=64/63\ C_{2n}-1/63 \ C_n Rn=64/63 C2n1/63 Cn

高斯公式

求积节点不是等分,而是一些特殊点
∫ a b f ( x ) d x = b − a 2 ∫ − 1 1 g ( t ) d t \int_{a}^{b}f(x)dx=\frac{b-a}{2}\int_{-1}^{1}g(t)dt abf(x)dx=2ba11g(t)dt,见资料积分区间转换
一点: ∫ − 1 1 f ( x ) d x ≈ 2 f ( 0 ) \int_{-1}^{1}f(x)dx\approx 2f(0) 11f(x)dx2f(0)
两点: ∫ − 1 1 f ( x ) d x ≈ f ( − 1 3 ) + f ( 1 3 ) \int_{-1}^{1}f(x)dx\approx f(-\frac{1}{\sqrt{3} } )+f(\frac{1}{\sqrt{3} }) 11f(x)dxf(3 1)+f(3 1)
三点: ∫ − 1 1 f ( x ) d x ≈ 5 9 f ( − 3 5 ) + 8 9 f ( 0 ) + 5 9 f ( 3 5 ) \int_{-1}^{1}f(x)dx\approx \frac{5}{9 }f(-\sqrt\frac{3}{{5} } )+\frac{8}{9} f(0)+\frac{5}{9} f(\sqrt{\frac{3}{5} } ) 11f(x)dx95f(53 )+98f(0)+95f(53 )
一般积分区间的高斯公式

方程求根的迭代法

x k + 1 = φ ( x k ) x_{k+1}=\varphi(x_k) xk+1=φ(xk)
导数的绝对值<=1时,收敛

开方算法

x 0 > 0 x_0>0 x0>0
x k + 1 = 1 2 ( x k + a x k ) x_{k+1}=\frac{1}{2}(x_k+\frac{a}{x_k}) xk+1=21(xk+xka)

牛顿法(重点)

泰勒展开前两项,得到 x k + 1 = x k − f ( x k ) f ′ ( x k ) x_{k+1}=x_k-\frac{f(x_k)}{f'(x_k)} xk+1=xkf(xk)f(xk)
使用条件:

  • 介值定理
  • f’(x)!=0
  • f’'(x)存在且不变号
  • x0选点必须使得f’'(x)f(x0)>0

如此才能收敛

收敛速度

e k + 1 e k p \frac{e_{k+1}}{e_k^p} ekpek+1->C 则迭代过程是p阶收敛的
牛顿法为平方收敛

牛顿下山法

要求|函数值|单调下降
得到 x k + 1 = x k − λ f ( x k ) f ′ ( x k ) x_{k+1}=x_k-\lambda \frac{f(x_k)}{f'(x_k)} xk+1=xkλf(xk)f(xk)
0 < λ < 1 0<\lambda<1 0<λ<1,称下山因子,逐步探索下山因子,从1开始,如果有一步始终找不到,则重选初值

(单点)弦截法

f ′ ( x k ) ≈ f ( x k ) − f ( x 0 ) x k − x 0 f'(x_k)\approx \frac{f(x_k)-f(x_0)}{x_k-x_0} f(xk)xkx0f(xk)f(x0),用割线代替切线

快速/两点 弦截法

需要两个初值x0和x1

埃特金迭代公式

x k + 1 ˉ = φ ( x k ) \bar{x_{k+1}}=\varphi (x_k) xk+1ˉ=φ(xk) 牛顿一次
x k + 1 ~ = φ ( x k + 1 ˉ ) \tilde{x_{k+1}}=\varphi (\bar{x_{k+1}} ) xk+1~=φ(xk+1ˉ) 再牛顿一次
x k + 1 = x k + 1 ~ − ( x k + 1 ~ − x k + 1 ˉ ) 2 x k + 1 ~ − 2 x k + 1 ˉ + x k x_{k+1}=\tilde{x_{k+1}}-\frac{(\tilde{x_{k+1}}-\bar{x_{k+1}})^2}{\tilde{x_{k+1}}-2\bar{x_{k+1}}+x_k} xk+1=xk+1~xk+1~2xk+1ˉ+xk(xk+1~xk+1ˉ)2 奇怪的加权!

线性方程组的迭代法

Jacobi

x k + 1 = − D − 1 ( L + U ) x + D − 1 b x_{k+1}=-D^{-1}(L+U)x+D^{-1}b xk+1=D1(L+U)x+D1b
移过去,用xk算

Gauss-Seidel

x k + 1 = − ( D + L ) − 1 U x + ( D + L ) − 1 b x_{k+1}=-(D+L)^{-1}Ux+(D+L)^{-1}b xk+1=(D+L)1Ux+(D+L)1b
移过去,用 x k + 1 x_{k+1} xk+1

收敛判断

Jacobi迭代法和Gauss-Seidel迭代法的收敛性

范数

向量的1范数=x绝对值之和
2范数=欧氏距离
无穷范数=绝对值的最大值

矩阵的1范数是列范数,对每列的绝对值求和,找个最大的列
2范数是谱范数 ∣ ∣ A ∣ ∣ 2 = λ m a x ( A T A ) ||A||_2=\sqrt{\lambda_{max}(A^TA)} ∣∣A2=λmax(ATA)
无穷范数是行范数,也许因为它是横着的吧(?

谱半径:A绝对值最大的特征值
对任意矩阵范数,谱半径都<=范数,所以范数要是<1,迭代法是不是就必然收敛了呢~

线性方程组的直接法

高斯消元法

化成上下三角形,这也要说?

列主元消元法

换行再消元

矩阵分解法

可以分解为LU 一个下三角和一个上三角的乘积,其中一个是单位的

  • Doolittle分解法
    先横着算u,再竖着算l
  • crout分解法
    先竖着算l,再横着算u

有公式但是记不住,现推吧

  • 平方根法分解 A= L L T LL^T LLT 有公式
  • Cholesky分解 正定矩阵分解为 A = L D L T A=LDL^T A=LDLT代价<平方根
  • 追赶法 三对角矩阵适用 消元+回代

常微分方程的差分法

欧拉格式

向前的 y ( x n + 1 ) ≈ y ( x n ) + h f ( x n , y ( x n ) ) y(x_{n+1})\approx y(x_n)+hf(x_n,y(x_n)) y(xn+1)y(xn)+hf(xn,y(xn))
向后的(隐式) y ( x n + 1 ) ≈ y ( x n ) + h f ( x n + 1 , y ( x n + 1 ) ) y(x_{n+1})\approx y(x_n)+hf(x_{n+1},y(x_{n+1})) y(xn+1)y(xn)+hf(xn+1,y(xn+1))
两步 y ( x n + 1 ) ≈ y n − 1 + 2 h f ( x n , y ( x n ) ) y(x_{n+1})\approx y_{n-1}+2hf(x_{n},y(x_{n})) y(xn+1)yn1+2hf(xn,y(xn)) 无法直接启动
梯形格式 y ( x n + 1 ) ≈ h 2 ( f ( x n , y ( x n ) ) + f ( x n + 1 , y ( x n + 1 ) ) y(x_{n+1})\approx \frac{h}{2}(f(x_{n},y(x_{n}))+f(x_{n+1},y(x_{n+1})) y(xn+1)2h(f(xn,y(xn))+f(xn+1,y(xn+1))这也是隐式的,也没法用(二阶)

改进的欧拉格式

二阶代数精度
先预报,再校正
预报值 y ( x n + 1 ) ˉ = y ( x n ) + h f ( x n , y ( x n ) ) \bar{y(x_{n+1})}= y(x_n)+hf(x_n,y(x_n)) y(xn+1)ˉ=y(xn)+hf(xn,y(xn))
校正值 y ( x n + 1 ) ≈ y ( x n ) + h 2 ( f ( x n , y ( x n ) ) + f ( x n + 1 y ( x n + 1 ) ˉ ) y(x_{n+1})\approx y(x_n)+\frac{h}{2}(f(x_{n},y(x_{n}))+f(x_{n+1}\bar{y(x_{n+1})}) y(xn+1)y(xn)+2h(f(xn,y(xn))+f(xn+1y(xn+1)ˉ)
可以简化表示为:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/164321.shtml

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

相关文章

无需公网IP,使用内网穿透实现公网访问本地OpenWRT管理界面

文章目录 1.openWRT安装cpolar2.配置远程访问地址3.固定公网地址 简单几步实现在公网环境下远程访问openWRT web 管理界面&#xff0c;使用cpolar内网穿透创建安全隧道映射openWRT web 界面面板443端口&#xff0c;无需公网IP&#xff0c;无需设置路由器。 1.openWRT安装cpola…

SpringBoot使用ObjectMapper之Long和BigDemical类型的属性字符串处理,防止前端丢失数值精度

SpringBoot使用ObjectMapper之Long和BigDemical类型的属性字符串处理&#xff0c;防止前端丢失数值精度! 方式一&#xff1a;注解 使用注解 JsonFormat(shape JsonFormat.Shape.STRING)&#xff0c;如下&#xff1a; import com.fasterxml.jackson.annotation.JsonFormat; …

在arm 64 环境下使用halcon算法

背景&#xff1a; halcon&#xff0c;机器视觉领域神一样得存在&#xff0c;在windows上&#xff0c;应用得特别多&#xff0c; 但是arm环境下使用得很少。那如何在arm下使用halcon呢。按照官方说明&#xff0c;arm下只提供了运行时环境&#xff0c;并且需要使用价值一万多人民…

设计高手的秘密武器:5款让平面作品更出彩的软件

平面设计是一种迷人而多样化的艺术形式&#xff0c;它结合了颜色、形状、排版和创造力&#xff0c;通过图像和文本传达信息。市场上有各种各样的平面设计软件&#xff0c;选择合适的设计软件是成为优秀设计师的重要一步。为了降低软件成本&#xff0c;大多数设计师会优先使用免…

编译原理之LL(1)语法分析实验(附完整C/C++代码与测试)

一、实验内容与要求 先从键盘读入要分析的文法&#xff0c;由程序自动构造FIRST、FOLLOW 集以及SELECT集合&#xff0c;判断是否为LL (1)文法。 分析文法为G[E]&#xff1a; &#xff08;0&#xff09;E→ TE’ &#xff08;1&#xff09;E’→ TE’ &#xff08;2&#xff…

软件开发王者搭配:80%低代码+20%高代码

数字化领域从来不缺新概念&#xff0c;前两年市场大谈云原生、技术中台、业务中台等概念&#xff0c;企业更多聚焦在业务与IT架构的升级。而这两年&#xff0c;随着低代码、生成式AI的盛行&#xff0c;大家则开始挖掘数字化应用的低成本建设模式。 在过去&#xff0c;开发一套系…

Linux 是否被过誉了?

Linux 是否被过誉了&#xff1f; 有些人眼里&#xff0c;电脑这种东西就应该是华丽丽的桌面&#xff0c;手握鼠标戳戳按钮&#xff0c;键盘只为偶尔打打字&#xff0c;仿佛windows式的桌面形式才是理所应当&#xff0c;GUI才是理所应当&#xff0c;x86才是理所应当&#xff0c…

使用 NVProf 检测 CUDA kernel 的 bank conflict

使用 NVProf 检测 CUDA kernel 的 bank conflict NVProf 指令 使用 NVProf 可以对 bank conflict 进行检测: nvprof --events shared_ld_bank_conflict,shared_st_bank_conflict <app> [args...]其中: --events 选项指定的 shared_ld_bank_conflict,shared_st_bank_c…

python -opencv 中值滤波 ,均值滤波,高斯滤波实战

python -opencv 中值滤波 &#xff0c;均值滤波&#xff0c;高斯滤波实战 cv2.blur-均值滤波 cv2.medianBlur-中值滤波 cv2.GaussianBlur-高斯滤波 直接看代码吧&#xff0c;代码很简单&#xff1a; import copy import math import matplotlib.pyplot as plt import matp…

c++的更严格的类型转换要求

C有更严格的类型转换要求 C中对类型转换有严格的要求&#xff0c;需要的类型和给的类型不 一致时可能会编译报错 例如&#xff1a; C语言中 #include<stdio.h> #include<stdlib.h> //全局变量 //C语言中的函数的形参的类型可以不写&#xff0c;没有返回值可以返回&…

联发科正在改写全球高端手机芯片市场格局

全球高端手机芯片市场正在重塑。 11 月 21 日&#xff0c;联发科发布了新一代卓越 5G 生成式 AI 移动芯片天玑 8300。 这款定位于中端机档位的芯片&#xff0c;无论在技术架构还是在实际性能表现上&#xff0c;都实现了对前代旗舰芯片的赶超&#xff0c;彻底打破了业内长期存…

相机和滤镜应用程序Nevercenter CameraBag Photo mac软件特点说明

Nevercenter CameraBag Photo mac是一款相机和滤镜应用程序&#xff0c;它提供了一系列先进的滤镜、调整工具和预设&#xff0c;可以帮助用户快速地优化和编辑照片。 Nevercenter CameraBag Photo mac软件特点 1. 滤镜&#xff1a;Nevercenter CameraBag Photo提供了超过200种…

复费率电表和预付费电表有哪些区别?

随着科技的发展和能源管理的日益严格&#xff0c;电表技术也在不断更新换代。复费率电表和预付费电表作为两种主流的智能电表&#xff0c;各自具有独特的优势和应用场景。接下来&#xff0c;小编来为大家详细解析这两种电表的区别及其应用场景。 一、复费率电表 1.定义及工作原…

计算机精度导致各种误差,大数吃小数

如果 p ∗ p^* p∗是p的近似, ∣ p ∗ − p ∣ |p^*-p| ∣p∗−p∣是绝对误差, ∣ p ∗ − p ∣ / ∣ p ∣ |p^*-p|/|p| ∣p∗−p∣/∣p∣是相对误差 舍入误差,就是数据表示精度不足带来的误差 a0.1234564≈0.123456fl(a) b0.1234546≈0.123455fl(b) 在上面发生了舍入误差 f…

力扣labuladong一刷day15天K个一组翻转链表与回文链表

力扣labuladong一刷day15天K个一组翻转链表与回文链表 一、25. K 个一组翻转链表 题目链接&#xff1a;https://leetcode.cn/problems/reverse-nodes-in-k-group/ 思路&#xff1a;k个一组翻转链表&#xff0c;每k个翻转抽取出一个单独的方法reverse&#xff0c;翻转a到b&…

力扣刷题第二十九天--二叉树

前言 问问自己&#xff0c;刷题的效果真的达到了吗&#xff1f; 内容 一、翻转二叉树 226.翻转二叉树 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 递归 func invertTree(root *TreeNode) *TreeNode {if rootnil{return root}…

Vue中的$nextTick的作用

在 Vue 中&#xff0c;当某些数据发生变化时&#xff0c;DOM 并不会立即更新。相反&#xff0c;Vue 会在下一个事件循环周期&#xff08;microtask&#xff09;中异步执行更新&#xff0c;这样可以避免频繁的 DOM 操作。然而&#xff0c;有时候我们需要在 DOM 更新后执行一些操…

2024-NeuDS-数据库题目集

一.判断题 1.在数据库中产生数据不一致的根本原因是冗余。T 解析&#xff1a;数据冗余是数据库中产生数据不一致的根本原因&#xff0c;因为当同一数据存储在多个位置时&#xff0c;如果其中一个位置的数据被修改&#xff0c;其他位置的数据就不一致了。因此&#xff0c;在数据…

11.docker的网络-docker0的理解及bridge网桥模式的介绍与实例

1.docker0的基本理解 安装完docker服务后&#xff0c;我们首先查看一下宿主机的网络配置 ifconfig我们可以看到&#xff0c;docker服务会默认在宿主机上创建一个虚拟网桥docker0&#xff0c;该网桥网络的名字称为docker0。它在内核层连通了其他物理或者虚拟网卡&#xff0c;这…

ubuntu22.04系统下载程序和依赖,并拷贝到指定路径下

脚本1 apt install aptitude apt-get -d install xxx #xxx是待下载的安装包 mv /var/cache/apt/archives/* /home/tuners/1apt install aptitude apt-get -d install xxx mv /var/cache/apt/archives/*.deb /home/tuners/1 xxx 为程序包名称 /home/tuners/1为保存程序包的…