没有合适的资源?快使用搜索试试~ 我知道了~
算法设计与分析实验报告_Matlab实现.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 193 浏览量
2023-07-02
21:54:46
上传
评论
收藏 352KB PDF 举报
温馨提示
试读
37页
算法设计与分析实验报告_Matlab实现.pdf
资源推荐
资源详情
资源评论
1
/
37
算法设计与分析实验报告
说明:本实验报告的算法全部用 Matlab 实现
目录:
一、求最大公约数的欧几里得算法
二、验证给定数组中的所有元素是否唯一
三、计算两个 N 阶矩阵的乘积
四、递归算法(阶乘、Fibonacci 数列)
五、KMP 模式匹配算法
六、Huffman 编码
七、图的遍历(深度优先搜索算法 DFS、广度优先搜索算法 BFS)
八、Dijkstra 算法、Kruskal 算法和 Prim 算法
九、排序算法(选择、冒泡、归并、快速、插入)
十、二叉树的三序遍历(前序、中序、后序)
2
/
37
一、 求最大公约数的欧几里得算法
代码:
function x = gcd(m,n)
%% 求最大公约数的欧几里得算法
%输入:两个整数 m, n
%输出:m,n 的最大公约数 x
if (m ~= fix(m))||(n ~=fix(n))
error('两个输入变量必须为整数!!');
end
if (m~=0)&&(n~=0)
while n~=0
r = mod(m,n);
m = n;
n = r;
end
x = m;
else
error('两个输入变量均不能为零!!');
end
end
测试:
x = gcd(123,234)
x =
3
二、 验证给定数组中的所有元素是否唯一
代码:
function x=UniqueElements(A)
%% 验证给定数组中的所有元素是否唯一
%输入:一个数组 1xN 矩阵 A
3
/
37
%输出:1--该数组所有元素唯一
% 0--该数组所有元素不唯一
x = 1;
N = size(A,2);
for i = 1:(N-1)
for j=(i+1):N
if A(i) == A(j)
x = 0;
break;
end
end
end
end
测试:
x=UniqueElements([2 0 1 1 0 5 1 5 2 7])
x =
0
>> x=UniqueElements([1 3 5 7 8 9 2 6])
x =
1
三、 计算两个
N
阶矩阵的乘积
代码:
function X = MatrixMultiplication(A,B)
%%
计算两个
N
阶矩阵的乘积
%%
输入:两个
N
阶矩阵
A
,
B
%
输出:矩阵
A
与
B
的乘积
X
%
例外处理
[a_row,a_list]=size(A);
[b_row,b_list]=size(A);
if (a_row ~= a_list||(b_row~=b_list))
4
/
37
error('A 和 B 必须同时为方阵!!');
end
if (a_row ~= b_list)
error('方阵 A 与 B 的维数必须相等!!');
end
%矩阵相乘运算
n=a_row;
X=zeros(n,n);%初始化 X
for i=1:n
for j=1:n
for k=1:n
X(i,j)=X(i,j)+A(i,k)*B(k,j);
end
end
end
end
测试:
A=[1 2
3 4];
B=[5 6
7 8];
X = MatrixMultiplication(A,B)
X =
19 22
43 50
四、 递归算法(阶乘、
Fibonacci
数列)
代码:
function x=factorial(n)
%%
求正整数
n
的阶乘
%%
输入:正整数
n
%
输出:
n
的阶乘
x=n*(n-1)*(n-2)*...*3*2*1
%
例外处理
5
/
37
if ((n ~= fix(n))||(n<0))
error('n 必须为非负整数!!');
end
%计算阶乘
if n==0
x=1;
else
x = factorial(n-1)*n;
end
end
function x=fibonacci(n)
%%
求斐波那契数列
%%
输入:正整数
n
%
输出:斐波那契数列中第
n
个数
%
例外处理
if ((n ~= fix(n))||(n<1))
error('n
必须为正整数!!
');
end
%
计算
if n==1||n==2
x = 1;
else
x = fibonacci(n-1)+fibonacci(n-2);
end
end
测试:
x=factorial(5)
x =
120
x=fibonacci(1)
x =
剩余36页未读,继续阅读
资源评论
omyligaga
- 粉丝: 55
- 资源: 2万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- TMS VCL UI Pack 是由 TMS Software 开发的一套功能强大的组件包,专为 Delphi 和 C++Bui
- 这是一个上传的Dingtalk-20240612171146.jpg文件
- 山东省地图json数据,包含市级县级多级json数据
- zlmediakit-windows zlmediakit-windows zlmediakit-windows
- 湖南省JS文件,可用于echarts画图
- 山东省JS文件,山东省JS文件,可用于echarts画图
- respond.min.js 1.4.2
- PS绘制以百感水佩为名的名称头像图
- 基于 Python实现的计通网单信道通信系统的仿真
- HC32F460智能台灯上位机
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功