Home

Math 排序

Math 排序 稳定性 当待排序数据中有相等的元素, 并且排序后相等的元素次序没有改变, 就说这个排序是稳定的. 稳定排序 冒泡排序 插入排序 归并排序 基数排序 不稳定排序 选择排序 快速排序 希尔排序 堆排序 内排序 冒泡排序 O(n^2) 选择排序 O(n^2) 插入排序 O(n^2) 希尔排序 O(n^1.5) 快速排序 O(NlogN) 归并排序 O(NlogN) 堆排序 O(N*logN) 基数排序 O(d(n+r)) 冒泡排序(BubbleSort) 基本思想:两个数比较大小,较大的数下沉,较小的数冒起来。 过程: 1. 比较相邻的两个数据,如果第二个数小,就交换位置。 2. 从后向前两两比较,一直到比较最前两个数据。最终最小数被交换...

Read more

Math Hash算法

Math Hash算法 Hash算法: 把任意长度的输入通过Hash算法变换成固定长度的输出. Hash冲突: 多个输入通过Hash算法得到同一个Hash值. Hash table(ht): Hash列表, 一般使用顺序表存储 Hash table length(htlen): Hash列表长度 Hash slot: Hash槽, 表示ht中的一个位置 Hash loadFactor: 装填多少进行括容, java中默认0.75 Hash函数 1. 除余法 // htlen 为Hash列表长度 hash(key) = key mod htlen 2. 乘余取整法 // 先让关键码key乘上一个常数A (0< A < 1),提取乘积的小数部分。 // 然后...

Read more

Xcode 优化问题

Xcode优化问题(XXX was compiled with optimization - stepping may behave oddly; variables may not be available.) Xcode 11.5 使用Release 编译项目, 并且Debug, 一些参数都是nil, 并且Log里提示 was compiled with optimization - stepping may behave oddly; variables may not be available 这是因为Xcode会优化代码, Debug时会看起来很奇怪. 最直接的办法是把编译模式改成DEBUG 还有就是关掉各个地方的编译优化选项(不推荐, 选项太多, 漏一个就是麻烦...

Read more

Math 动态规划

Math 动态规划 动态规划(Dynamic programming,简称DP), 把主问题分为子问题, 主问题可以通过子问题 求得. 特性 重叠子问题: 有些子问题的解会被引用多次, 因此需要保存子问题的解. 最优子结构: 最优解肯定是有最优的子解转移推导而来. 无后效性 : 子问题的解并不会由后面其他问题的解而改变 步骤 划分状态: 确认子问题 状态表示: 保存子问题的解 状态转移: 怎么由子问题推导出父问题 确定边界: 确定初始状态是什么?最小的子问题?最终状态又是什么 方向 自底向上,简单来说就是根据初始状态,逐步推导到最终状态,而这个转移的过程,必定是一个拓扑序 自顶向下,也就是从最终状态出发,如果遇到一个子...

Read more

Lang C语言指针

Lang C语言指针 pointer and array 不同点 int[][] vs int** C语言中多维数组也是使用顺序地址存储, 地址从低到高排列 int a[2][2] = \{\{1, 2\}, \{3, 4\}\}; // 内存地址 低地址位 1, 2, 3, 4 高地址位 a是一个指针, 保存值为’1’的地址; a[0]是一个指针, 也是保存值为’1’的地址. 因此a = a[0] int** 是一个指针x, 指向另一个指针y, y指向int类型. 如果int** p = (int**) a; 这样作的话, *p 等于 1, 而**p会把1当作地址作取值操作, 因此会报错. int** 不等价于 a[][] . 需要创建指...

Read more

Compute Media 视频原理

Compute Media 视频原理 图像 三原色: RGB 屏幕显示原理: TV CRT; PC CRT; XO-1 LCD; LCD 屏幕由像素点排列组成, 像素由3个发光子像素点组成 图像的数值表示 RGB表示方式 浮点表示: 0.0~1.0 整数表示: 0~255或者00~FF, RGBA_8888 RGB_565 RGBA_8888 1280x720计算图像大小: 1280 * 720 * 4 = 3.516MB 位图(bitmap)在内存中所占用的大小 YUV表示方式 视频帧裸数据一般使用YUV表示 Y: Luma, 灰阶值 U, V: Chroma, 色度, 分为Cr(色调)和Cb(饱和度) Cr: RGB输入信号红色部分与RGB信号亮度值之间的...

Read more

Compute Media 音频原理

Compute Media 音频原理 声学原理 声音是波, 介质振动产生声音, 不同介质, 传播速度和波形不一样. 频率(f): 越高, 波长就越短, 代表音阶 振幅(A): 指振动的物理量可能达到的最大值, 代表声音的响度, 能量大小的反映 波形: 表示信号的形状, 代表声音的音色, 本质是谐波 传播速度(V): 声音在介质中移动的速度 波长(λ): 沿着波的传播方向,相邻两个振动位相相差2π的点之间的距离 波的周期(T): 完成一次振动需要的时间 相位: 特定的时刻在它循环中的位置, 描述信号波形变化的度量 f = 1/T f = V/λ λ = uT 声压(pa): 声压就是大气压受到声波扰动后产生的变化,即为大气压强的余压,它相当于在大气压强上的叠加一个声波扰动引起...

Read more