IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 数据结构第二次上机题 -> 正文阅读

[数据结构与算法]数据结构第二次上机题

1.逻辑结构与时间复杂度基础知识

2-1 关于逻辑结构
数据结构可以从逻辑上分成 ▁▁C▁▁▁ 两大类。
(5分)
A.动态结构和静态结构
B.紧凑结构和非紧凑结构
C.线性结构和非线性结构
D.内部结构和外部结构
2-2 数据逻辑结构可以分为(B )。
A.线性结构和图结构
B.集合结构、线性结构、树结构和图结构
C.顺序结构和链式结构
D.集合结构和非线性结构
2-3 算法分析的两个主要方面是( A )。
(5分)
A.空间复杂度和时间复杂度
B.正确性和简明性
C.可读性和文档性
D.数据复杂性和程序复杂性
2-4 算法设计的要求设计一个好的算法应该满足正确性、▁▁▁B▁▁、健壮性和高效性等要求。
A.稳定性
B.可读性
C.可靠性
D.可行性
2-5 算法的特性一个算法必须满足有限性、确定性、▁▁▁C▁▁、输入和输出等五个重要特性。
A.高效性
B.稳定性
C.可行性
D.可读性
2-6 执行下面程序段时,执行S语句的频度为(D)。

for(int i=0;i<n;i++)
for(int j=1;j<=i;j++)
     S;

A.n2
B.n2/2
C.n(n+1)
D.n(n+1)/2
2-7 下列程序段的时间复杂度为(B)。

x = n;     /*n > 1*/
y = 0;
while(x >= (y + 1) * (y + 1))
     y = y + 1;

A.Θ(n)
B.Θ(n?)
C.Θ(1)
D.Θ(n2)
2-8 时间复杂度分析
下面算法的时间复杂度为 ▁▁▁▁▁。

int foo(int n)
{
    int i, s = 0;
    for (i = 1; i * i <= n; ++i)
    {
        s += i;
    }
    return s;
}

A.O(n2)
B.O(n)
C.O(n?)
D.O(log2?n)
2-9 时间复杂度分析
下面算法的时间复杂度为 ▁▁D▁▁▁。

int foo(int n)
{
    int i, j, s = 0;
    for (i = 1; i <= n; ++i)
    {
        for (j = 1; j <= i; ++j)
        {
            s += i * j;
        }
    }
    return s;
}

A.O(n(n(1/2))?)
B.O(n)
C.O(nlog2?n)
D.O(n2)
2-10
时间复杂度分析
下面算法的时间复杂度为 ▁▁O(n)▁▁▁。

int foo(int n)
{
    int i, m = n / 2, s = 0;
    for (i = 1; i <= m; ++i)
    {
        s += i;
    }
    return s;
}

2-11

时间复杂度分析

下面算法的时间复杂度为 ▁▁O(n)▁▁▁。

int foo(int n)
{
    int i, s = 0;
    for (i = 1; i <= n; ++i)
    {
        s += i;
    }
    return s;
}

2-12

时间复杂度分析

下面算法的时间复杂度为 ▁▁▁▁▁。

int foo(int n)
{
    return n * (n + 1) / 2;
}

2.数组中按值找元素 (20 分)

在数组A[1…N]中查找值为k的元素,若找到输出其位置i(1<=i<=n),否则输出0作为标志。
函数接口定义:

Search(int a[],int n,int k);

其中 a 、 n、k 都是用户传入的参数。a 为数组名,期中存了n个整数,下标为1到n;k 为待查数据元素;若找到了,返回其下标;否则,返回0。
裁判测试程序样例:

#include <stdio.h>
Search(int a[],int n,int k);
main()
{
    int a[50],n,i,k;
    scanf("%d",&n);  //接收数组元素个数
    for(i=1;i<=n;i++)   //依次接收各个元素的值
        scanf("%d",&a[i]);
    scanf("%d",&k);      // 接收待查元素值k
    int x=Search(a,n,k);  
    if(x==0)
        printf("NONE\n");
    else
        printf("%d\n",x);

}

/* 请在这里填写答案 */

输入样例1:

5
67 48 90 34 25
34
结尾无空行

输出样例1:

4
结尾无空行

输入样例2:

6
45 67 89 9 7 5 56
34
结尾无空行

输出样例2:

NONE
结尾无空行

int Search(int a[],int n,int k)
{
	int i;
	int t=0;
	if(n==0)            //数组不存在时
	return 0;
	else
	{
		for(i=1;i<=n;i++)
		{
			if(a[i]==k)
			{
				return i;
			
			}
			else if(i==n)       //数字不在数组中
				return 0;
		}
	}
}

3. 找最大值和次大值 (20 分)

找出数组A[1…N]中最大值和次大值。(数组中元素个数大于两个且值各不相同)
函数接口定义:

void FindMax(int a[],int n,int *pmax1,int *pmax2);

其中 a 和 n 是用户传入的参数。 a为数组名, n为数组中元素的个数,在下标从1到n处存放。利用指针变量 pmax1和pmax2带出运算结果。 pmax1为指向最大值的指针;pmax2为指向次大值的指针。
裁判测试程序样例:

#include <stdio.h>
void FindMax(int a[],int n,int *pmax1,int *pmax2);
main()
{
    int a[50],n,i;
    int max1,max2;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        scanf("%d",&a[i]);
    FindMax(a,n,&max1,&max2);
    printf("%d %d\n",max1,max2);
}
/* 请在这里填写答案 */

输入样例:

5
32 45 57 8754 33
结尾无空行

输出样例:

8754 57
结尾无空行

void FindMax(int a[],int n,int *pmax1,int *pmax2){
 int i,j=1,k,t;
 for(i=1;i<=n;i++){
  for(j=i+1;j<=n;j++){
   if(a[i]<a[j]){
    t=a[i];a[i]=a[j];a[j]=t;//冒泡排序,取前两位
   }
  }
 }
 *pmax1=a[1];
 *pmax2=a[2];
 return 0;
}
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:38:08  更:2021-10-18 17:38:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:44:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码