当前位置: 首页 > wzjs >正文

邢台市第三医院搜索引擎排名优化建议

邢台市第三医院,搜索引擎排名优化建议,在线制作图片免费的软件,甘肃企业网站建设实验目的及要求: 1.复习C语言中函数的定义与调用,指针的实验,结构的定义等;了解学习数据结构的意义和基本概念; 2.了解抽象数据类型和软件构造方法;了解算法效率的度量。 实验设备环境: 微型计…

实验目的及要求:

1.复习C语言中函数的定义与调用,指针的实验,结构的定义等;了解学习数据结构的意义和基本概念;
2.了解抽象数据类型和软件构造方法;了解算法效率的度量。

实验设备环境:
微型计算机
DEV C++(或其他编译软件)

实验步骤:
任务一

(1)设计一个把存储在数组中的有个抽象数据元素逆置的算法。逆置就是把数据元素序列变换为数据元素序列, 并要求原数组中的数据元素不被改变。
解题思路:
逆置就是把数组元素序列变换为。这里假设要求原数组中的数据元素不被改变。这个算法的参数应该包括三个:表示原数组的输入参数,表示数据元素个数的输入参数, 表示逆置后数组的输出参数。
算法代码如下:

#include <iostream>
typedef int DataType;
void Reverse(DataType a[], int n, DataType b[] ){for(int i = 0; i < n; i++) {b[i] = a[n - 1 - i];}
}
int main() {const int n = 5; DataType a[n] = {1, 2, 3, 4, 5}; DataType b[n]; Reverse(a, n, b); for(int i = 0; i < n; i++) {std::cout << b[i] << " ";}return 0;
}

(2)设计一个把存储在数组中的有个抽象数据元素逆置的算法。逆置就是把数据元素序列变换为数据元素序列, 并要求原数组中的数据元素不被改变。
解题思路:
逆置就是把数组元素序列变换为。这里在数组内部更改。这个算法的参数应该包含数组与数组大小。
算法代码如下:
 

#include <iostream>
typedef int DataType;
void Reverse(DataType a[], int n) {int m = n / 2;DataType temp;for(int i = 0; i < m; i++) {temp = a[i];a[i] = a[n - 1 - i];a[n - 1 - i] = temp;}
}
int main() {const int n = 5; DataType a[n] = {1, 2, 3, 4, 5}; Reverse(a, n); for(int i = 0; i < n; i++) {std::cout << a[i] << " ";}return 0;
}

(3)设表示阶矩阵的数组和在前边部分已赋值,求实现两个阶矩阵相乘运算的算法的时间复杂度。
解题思路:
设基本语句的执行次数为,有,因为,其中均为常数,所以该算法的时间复杂度为。
算法代码如下:

#include <iostream>
#include <iomanip>
using namespace std;
const int MAX_SIZE = 100; 
void MatrixMultiply(int a[][MAX_SIZE], int b[][MAX_SIZE], int c[][MAX_SIZE], int n) {for(int i = 0; i < n; i++) {for(int j = 0; j < n; j++) {c[i][j] = 0; for(int k = 0; k < n; k++) {c[i][j] += a[i][k] * b[k][j]; }}}
}
int main() {const int n = 3; int a[n][MAX_SIZE] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};int b[n][MAX_SIZE] = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}}; int c[n][MAX_SIZE];MatrixMultiply(a, b, c, n);for(int i = 0; i < n; i++) {for(int j = 0; j < n; j++) {cout << setw(5) << c[i][j];}cout << endl;}return 0;
}

(4)本例的算法采用冒泡排序法对数组中的个整数类型的元素 (a[0]~a[n-1])从小到大进行排序,求该算法的时间复杂度。
解题思路:
这个算法的时间复杂度随待排序数据的不同而不同。当某次排序过程中没有任何两个数组元素交换位置时,表明数组元素已排序完毕,此时算法将因标记 flag=0 不满足循环条件而结束。但是,在最坏情况下,每次排序过程中都至少有一对数组元素交换位置,因此,最坏情况下该算法的时间复杂度分析如下。设基本语句的执行次数为,则在最坏情况下有 因为,其中为常数,所以该算法的最坏时间复杂度为 。
算法代码如下:

#include <iostream>
void BubbleSort(int a[], int n) {int i, j, flag = 1;int temp;for(i = 1; i < n && flag == 1; i++) {flag = 0;for(j = 0; j < n - i; j++) {if(a[j] > a[j + 1]) {flag = 1;temp = a[j];a[j] = a[j + 1];a[j + 1] = temp;}}}
}
int main() {const int n = 5;int a[n] = {5, 2, 8, 1, 6};BubbleSort(a, n); for(int i = 0; i < n; i++) {std::cout << a[i] << " ";}std::cout << std::endl;return 0;
}

http://www.dtcms.com/wzjs/433438.html

相关文章:

  • 做网站软件国际购物网站平台有哪些
  • 在哪几个网站里做自媒体赚钱市场推广方案模板
  • wordpress 图片集泰安网站seo推广
  • 茶叶网站flash模板免费下载seo关键词快速排名介绍
  • 苏州网站开发建设制作关于校园推广的软文
  • 网站建设销售的技巧话语腾讯企点下载
  • 金坛企业网站建设公司媒体平台
  • 做实验流程图的网站网站首页面设计
  • 银川网站建设是什么黑马程序员培训机构在哪
  • 响应式中文网站模板八八网
  • 广州做网站比较有名的公司关键词排名优化
  • 北京西城区建设局网站微信朋友圈广告在哪里做
  • 做网站加入广告联盟巨量千川广告投放平台
  • 和男朋友都是第一次做网站谷歌推广怎么开户
  • 学校网站建设开发方案书合肥网站seo推广
  • 主页网站建设热搜关键词
  • 用PS做的个人网站图片微信推广平台怎么做
  • 外贸网站建设应该怎样选择语言外贸企业网站设计公司
  • 南宁网站制作建设seo网站推广技术
  • 关于二级网站建设seo招聘要求
  • 做网站好的公司客源引流推广
  • 济南网站建设webwz8百度上看了不健康的内容犯法吗
  • 网站安全管理网络推广网址
  • 企业做网站哪个最好最新长尾关键词挖掘
  • 建设信用卡申请官方网站最新实时大数据
  • 做b2b网站最近的新闻热点时事
  • 免费做h5的网站有哪些网络广告营销策略
  • 网站建设公司如何挖掘客户广东疫情最新消息今天
  • 企业宣传网站建设内容郑州有没有厉害的seo
  • 自助搜优惠券网站怎么做的世界比分榜