AssemblyLanguage
汇编语言----直接在硬件之上工作的编程语言
汇编指令(机器码的助记符)
cpu对存储器的读写逻辑上划分为:
地址总线:地址总线上能传送多少个不同的信息,cpu就可以对多少个存储单元进行寻址。一个cpu有N根地址总线,则可以说这个cpu的地址总线的宽度为N,这样的cpu最多可以寻找2的N次方个内存单元(8086/8088cpu的cpu地址总线宽度为20位,寻址能力为\(2^{20}=1024*1024字节=1024K字节=1M字节\))(8086/80286--16位,80386--32位)
123寻址能力的判断:寻址能力=2的N次方(N为地址总线的条数)32位地址总线为例子,cpu的寻址能力2^32Bit=4G
12345678bit单位间的换算关系:1字节=1byte=1B=8位1KB=1024B1MB=1024KB1GB=1024MB1TB=1024GB1PB=1024TB
数据总线:cpu和内存或其他器件之间的数据传送是通过数据总线来进行的,数据总线的宽度决定了cpu和外界的数据传送速度
控制总线:cpu对外部器件的控制是通过控制总线来进行的。在这里控制总线是 ...
数学建模算法入门3
数据降维处理的算法:(评价模型)
主成分分析法(所有主成分的数量=指标数量,各主成分的累计方差贡献率>80%,或特征根>1)SPASS图像
例题1.1有31个样本,每个样本有8个变量
要从原来的所有变量得到新的综合变量,一种较为简单的方法是作线性变换,使得新的综合变量为原变量的线性组合
\[
\left \{ \begin{array}{lr**}
F_1=a_{11}x_1+a_{21}x_2+...+a_{p1}x_p\\
F_2=a_{12}x_1+a_{21}x_2+...+a_{p2}x_p\\
...\\
F_p=a_{1p}x_1+a_{2p}x_2+...+a_{pp}x_p\\
\end{array} \right.\\
F_i=a_{1i}x_1+a_{2i}x_2+...+a_{pi}x_p\quad i=1,2,...p\\
\]
(var()为求方差的意思)\(var(cF_1)=c^2var(f_1)\),c为常数
为使得方差var(F_i)可以比较\(a_{i1}^2+a_{i2}^2+a_{ip}^2=1\ ...
数学建模案例1
SARS疫情对某些经济指标的影响(灰色预测)
图一:商品零售额
图二:接待海外旅行人数
图三:综合服务业累计数据(单位:亿元)
屏幕截图_20240226_163906
屏幕截图_20240226_164204
屏幕截图_20240226_164222
1.利用灰色理论建立灰微分方程模型,由1997~2002年的平均值预测2023年平均值
可以根据1997~2002年中每个月的数据,预测出2003年每个月的数据;也可以把每年中12个月数据总和加起来预测2003年总和,并根据每年每月数据占总和的多少来预测2003年每月的情况(以下是第二种想法)
对1997~2002年某项指标记为矩阵A=(a_ij)_6×12计算每年的年平均值,记为
\[
x^{(0)}=(x^{(0)}(1),x^{(0)}(2),x^{(0)}(3),...,x^{(0)}(6))
\]
要求极比属于(0.7515到1.3307)
对\(x^{(0)}\)作一次累加,则
\[
x^{(1)}(1)=x^{(0)}(1),x^{(1)}(i ...
数学建模算法入门(2)
TOPSIS算法
评价方法大体可以分为两类,其主要区别在确定权重的方法上。一类是主观赋权法,如综合指数法,模糊综合评判法,层次分析法,功效系数法等。另一类是客观赋权,根据各项指标间相关关系或各指标值变异程度确定权数,如主成分分析法,因子分析法,理想解法(也称TOPSIS法)
topsis:构造评价问题的正理想解和负理想解方法:设多属性决策方案集(待评价方案集)为D={d_1,d_2,...,d_m}衡量方案优劣的属性变量为x_1,x_2,...x_n这时方案集D中的每个方案d_i(i=1,...,m)的n个属性值构造的向量是[a_i1,...,a_in],它作为n维空间中的一个点,能唯一地表征方案d_i。
算法步骤:
消除量纲问题:用向量规划的方法求得规范决策矩阵,设多属性决策问题的决策矩阵\(A=(a_{ij})_{m×n}\),规范化决策矩阵\(B=(b_{ij})_{m×n}\),其中\(b_{ij}=a_{ij}/\sqrt{\sum_{i=1}^{m}{a_{ij}^{2}}}\),i=1,2,...,m;j=1,2,...,n。
权重问题:由决策人给定各属性的 ...
数学建模算法入门(1)
线性规划模型基本原理(LP)
在资源固定的利润最大化问题:
例题1.1
某机床厂生产甲,乙两种机床,每台销售后的利润分别为4千元和3千元。生产甲机床需要用A,B机器加工,加工时间分别为每台2小时和1小时;生产乙机床需要A,B,C三种机器加工,加工时间为每台各一小时。若每天用于加工的机器时数分别为A机器10小时,B机器8小时和C机器7小时,问该厂应生产甲,乙机床各几台,才能使总利润最大?
\[
max\quad z=4x_1+3x_2\quad (1.1)\\
(1.2)\quad\left \{ \begin{array}{lr**}
2x_1+x_2\leq 10\\x_1+x_2\leq 8\\x_2\leq 7\\x_1,x_2\geq 0
\end{array} \right.
\]
变量x1,x2称之为决策变量,(1.1)式被称为问题的目标函数,(1.2)中的几个不等式是问题的约束条件,记为s.t.
\[
min\quad c^Tx\\
s.t.\quad\left \{ \begin{array}{lr**} Ax\leq b\\Aeq*x=be ...
数据结构exam
1.数据结构中,与所使用的计算机无关的是数据的____结构
存储
物理
逻辑
物理和逻辑
2.计算机算法必须具备输入,输出和____等5个特性
可行性,可移植性和可扩充性
可行性,确定性和有穷性
确定性,有穷性和稳定性
易读性,稳定性和安全性
3.顺序表表,链表的特点
顺序表是顺序存储,在存储的时候,插入和删除需要移动插入和删除点后面的数据,不方便
在n个节点的顺序表上做插入,删除节点运算的时间复杂度为O(n),在长度为n的顺序表的第i个位置上插入一个元素,元素的移动次数是O(n-i+1).拥有n个元素的顺序表中插入一个新元素,平均移动n/2个元素
线性表中节点的集合是有限的,节点之间的关系是一对一的
顺序表可以直接对节点进行存取,不需要访问之前的节点,所以于顺序表的长度N无关,因此在顺序表中访问任一节点的时间复杂度为O(1)
链表中的节点可包含多个指针域,分别存放多个指针。例如双向链表中的节点含有两个指针,分别存放其直接前驱和直接后继节点的指针
链表的存储特点是无序,而链表示意图有序。
链表的节点不会移动,只是指针内容改变
顺序 ...
OJ题
OJ题
1.IO型:自己写头文件,main函数等等
测试用例:我们要去scanf获取
结果:用printf输出
2.接口型(实现已知函数):不需要写头文件,主函数,提交了以后,会跟oj服务器上他准备好的代码合并
测试用例:通过参数传过来
结果:一般通过返回值拿的,也有可能是输出性参数
一个整形数组nums里除两个数字以外,其它数字都出现了2次,请写程序找出这两个只出现一次的数据
123456789//C语言不支持返回两个值//例如输入:nums=[4,1,4,6] 输出:[1,6]或者[6,1]int* singleNumbers(int8 nums,int numsSize,int * returnSize)//这个returnSize就叫输出型参数{ *returnSize=2;//把返回数组的大小给他 int* arr=(int*)malloc(sizeof(int)*2); return arr;}
给你一个数组nums和一个值val,你需要原地溢出所有数值相等于val的元素,并返回移除后数组的新长度
1234 ...
DataStructure
数据结构
时间复杂度(时间复杂度及空间复杂度)
摩尔定律(每18个月运行内存都会更新,空间复杂度不再特变关注)
用常数1取代运行时间中所有加法常数
在修改后的运行次数函数中,只保留最高阶项
如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶
1234567891011121314151617181920212223242526272829303132333435363738394041//计算时间复杂度//1.x=0;for(i=1;i<=n;i++) for(j=1;j<=n-i;j++) //i=1时内循环执行n-1次;i=2时执行n-2次...;i=n-1时执行1次 x++;//因为x++共执行了n-1+n-2+...+1=n(n-1)/2,所以执行时间为O(n^2)//2.i=1;while(i<=n) i=i*3;//O(log3^n)//3.void Func4(int N){ int count=0; for(int k=00;k<100;++k) ...
MatlabClass
Matlab 的学习
matlab系统环境
matlab的搜索路径为:
变量,内部函数,程序文件(先搜索当前文件再在文件搜索路径下搜索)
如果在当前文件夹和搜索路径文件夹下建立了一个同名的M文件,那么在命令行窗口输入文件名时,会执行哪个文件?
答:执行当前文件夹下的文件
如果用户建立的文件既没有保存在当前文件夹下,又没有保存在文件搜索路径中,那么在命令行窗口输入文件名时会出现什么信息?
答:系统找不到,会报错
matlab数值数据
整型数据
MatLab提供了数据类型转换函数来实现数据类型的转换。例如uint8函数将数值数据转换为无符号8位整数,int8函数将数值数据转换为带符号8位整数
12345>>x=int8(129)x= 127 //因为带符号整数取值为-2的7次方到+2的7次方减1(-128~127),所以转换成带 >>x=uint8(129) 符号数的最大值127x= 129 //不带符号数的取值为0~2的8次方减1(0~255)
浮点型
在matlab中数值数 ...
C++ mistakes
1.关于函数,下列表述错误的是:
1234A <返回类型>中有可能包含关键字intB <返回类型>中有可能包含自定义标识符 //BC <返回类型>中有可能包含字符 *D <返回类型>中有可能包含 []
注意:这里的类型可以是预定义类型(如int),复合类型(如double*),用户自定义类型(如枚举类),若返回值只做更新(或设置)等操作,则该函数返回类型是void,函数类型和内置数组不能作为返回值类型
2.程序阅读
12345678910111213141516171819202122int main(){ long a = 10, b = 30, l = 0; if (a % 2 == 0) a++; for(long m=a;m<=b;m+=2) if (fun(m)) { if (l++ % 10 == 0) cout << endl; cout << setw(5) << m; } return 0;}bool fun( ...