抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

一些位置的相位

振幅 A

获取振幅的办法

  1. 可以通过图像的最大值或最小值看出,A=xmax=xminA = |x_{max}| = |x_{min}|
  2. 可以通过初始位移和初始速度求出,A=x02+v02ω2A = \sqrt{x_0^2+\frac{v_0^2}{ω^2}}

振幅由初始条件决定,即初始位移和初始速度。

周期与频率(TT ff

T=2πω=2πmkν=1T=ω2πω=2πνT = \frac{2π}{\omega} = 2π\sqrt{\frac{m}{k}}\\ \nu = \frac{1}{T} = \frac{\omega}{2\pi} \\ \omega = 2\pi \nu

周期和频率是由振动系统的特性决定的。

相位 φ

初相位

Problem: 9. 回文数

思路

先拆分,后对比

解题方法

有思路可知。

复杂度

时间复杂度:

O(log2n)O(log_2n)

空间复杂度:

目前将会放弃 Github page,选择使用 Cloudflare page,因为 Github page 的访问速度实在是太慢了,而且还经常被墙,所以我决定放弃 Github page,转而使用 Cloudflare page,这样就可以让大家更快的访问我的博客了。

别称

线性表的顺序表示顺序存储结构顺序映像随机存取结构的储存结构

作用

利用数组的连续存储空间顺序存放线性表的各个元素
a[n-1]a[n] 的直接前趋,a[n+1]a[n] 的直接后继。

结构体代码

第一种写法

1
2
3
4
typedef struct sqList {
ElementType Data[MAXSIZE];
int Last;
} sqList;

Python

1
2
3
4
class LNode:
def __init__(self):
self.Data = []
self.last = -1

消元法

avatar

定义

k 阶子式

前情提要

在之前的 C 语言的学习当中,我们提到了 mallocfree,这两个函数是用来动态分配内存的。
看好。
动态分配的代码是这样写的。

1
2
3
4
5
6
7
8
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
scanf("%d", &n);
int *a = (int*)malloc(sizeof(int)*n);
free(a);
}

结构体结构

1
2
3
4
5
typedef struct {
ElemType *data;
int length;
int listSize;
} DA;

我来解释一下,这个结构体声明。
length 是你实际存了多少的东西,listSize 是你目前表的最大长度。

动态分配的使用

其实,无非就是创、增、删、改、读、销。

创建一个动态分配

弹簧振子

一端固定,一端连接物体,在平衡位置 O 点反复运动,如下图所示
弹簧振子

物理情景:将物块拉到 A 位置上,然后撤掉拉力,物体发生运动。
当物体到达 O 点时,物体加速度为 0,因为弹力为 0;
当物体到达 A 点的时候,速度减为 0。

在这里我们知道,弹力的计算公式是 F=kxF = -kx
由此,我们可以由加速度公式 a=Fma=\frac{F}{m} 推出 a=kxma=-\frac{kx}{m}
由于 ω2=km\omega^2 = \frac{k}{m},所以,a=ω2xa = -\omega^2x
而微分方程就是在这基础之上将 aa 变成 d2xdt2\frac{d^2x}{dt^2}

这里我们要引出一个公式,就是运动方程:x=Acos(wt+ϕ)x = A\cos(wt+\phi)
然后,我们结合物理学上册的运动描述 v=dxdtv = \frac{dx}{dt}a=dvdta = \frac{dv}{dt},我们可以知道,v=ωAsin(wt+ϕ)v = - \omega A\sin(wt+\phi)a=ω2Acos(wt+ϕ)a = \omega^2A\cos(wt+\phi)
cos图

定义

线性表(linear list)有以下三个规则:

  1. 存在唯一的一个 “第一个” 数据元素
  2. 存在唯一的一个 “最后一个” 数据元素
  3. 除 “第一个” 和 “最后一个” 元素均只有一个直接前驱(immediate predecessor)和一个直接后继(immediate successor)

一些参数

线性表长度为 n,也可以直接用 xxLen 表示
n=0 时,就是空表
a 的下表 i 表示的是 a(i) 在线性表的位序

一些要说的东西

对于线性表存在两种输入的情况:

  1. 不修改内容,只是把内容传入,如 List L
  2. 譬如,getLength(List L)
  3. 可修改内容,也可把内容传入,就传地址(指针),如 List *L
  4. 譬如,initList(List *L)
  5. 但是,在此后要访问这指针的内容要用到 L->

但是,我们要注意的是结构体。
举个例子
这是一个动态分配