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

数据结构——例题1

eg1:求解 S = 1! + 2! + 3! + ... + n!

#include<stdio.h>
#include<stdlib.h>long sum(int n){long s = 0,t,i,j;for(i=1;i<=n;i++){t=1;for(j=1;j<=i;j++){t*=j;}s+=t;}return s;
}int main(){int n;printf("请输入一个整数:");scanf("%d",&n);printf("%d",sum(n));
}

eg2:以下说法不正确的是__B__

A.数据元素是数据的基本单位

B.数据项可由若干个数据元素构成

C.数据项是不可分割的最小标识单位

D.数据可由若干个数据元素构成

eg3:在数据结构中,与所使用的计算机无关的是数据的__C__结构

A.逻辑和存储

B.物理

C.逻辑

D.存储

解析:在数据结构的分类中,数据的逻辑结构是指数据元素之间的相互关系及其组织方式,这种关系和组织方式是独立子具体计算机实现的。换句话说,逻辑结构关注的是数据本身的抽象关系,而不是这些数据在计算机中如何存储和实现。
选项A:存储结构,是数据在计算机内存中的具体表示方式,与计算机有关。
选项B:物理结构,指的是数据在计算机硬件上的具体存储形式,与计算机有关。
选项C:逻辑结构,是指数据元素之间的逻辑关系,与具体计算机实现无关。
选项D:物理和存储结构,都涉及到具体的计算机实现,与计算机有关。

eg4:取算法的时间复杂度为O(n3次方),当n=5时执行时间为50s,当n=15时,执行时间为__D__

A.675

B.2025

C.3375

D.1350

解析:T(n)=O(n的3次方)=m*n^3,当n=5 时T(n)=50s,求得m=0.4。当n=15 时,T(n)=m*n^3=0.4*15^3=1350s 。

eg5:下面程序的时间复杂度为__C__

void fun(int n) {int i = 1;while(i<=n) i=i*2}

A.O(nlog2n)

B.O(n)

C.O(log2n)

D.O(n^2)

解析:①列出循环趟数t以及每轮i的变化值

t012345
i12481632

②找到i与t的关系:i=2^t

③确定停止条件:i<=n

④联立①②方程:2^t<=n  -->  t<=log2n

所以T=O(log2n)

eg6:下面程序的时间复杂度为__C__
int count=0;
for(k=1 ; k<=n ; k*=2)
   for(j=1;j<=n;j++)
      count++;

解析:①列出外层循环趟数t1,列出外层循环中k的变化值

t1012345
k12481632

②找到k与t1的关系:k=2^t1

③由外层循环for(k=1 ; k<=n ; k*=2)可得:2^t1<=n,即t1=log2n,说明外层循环有log2n次

④列出内层语句的执行次数t2

t1012345
k12481632
t2123456

⑤求内层语句的执行次数t2之和S

内层循环:对于外层循环的每一次迭代,内层循环都会完整的从j=1执行到j=n,即内层循环每次执行n次

总执行次数:由于外层循环执行log2n次,每次外层循环时内层循环执行n次,所以总的执行次数S=n*log2n

时间复杂度:根据大O表示法,该双层循环的时间复杂度为O(nlog2n)

eg7:以下函数中时间复杂度最小的是__D__

A.T1(n) = nlog2n + 5000n

B.T2(n) = n^log2n-6000n

C.T3(n) = n^2-8000n

D.T4(n) = 20000log2n

解析:

相关文章:

  • [特殊字符]CentOS 7.6 安装 JDK 11(适配国内服务器环境)
  • LeetCode热题100--206.反转链表--简单
  • MongoDB 的主要优势和劣势是什么?适用于哪些场景?
  • LeetCode 热题 100_多数元素(97_169_简单_C++)(哈希表;排序)
  • 【2025年前端高频场景题系列】使用同一个链接,如何实现PC打开是web应用、手机打是-个H5 应用?
  • UE5通过C++实现TcpSocket连接
  • X1A000171000300,FC2012AN,32.768kHz,2012mm,EPSON晶振
  • 【Flask全栈开发指南】从零构建企业级Web应用
  • 影刀RPA开发-CSS选择器介绍
  • 第三章 初始化配置(一)
  • 【C++详解】类和对象(上)类的定义、实例化、this指针
  • esp32硬件支持AT指令
  • Leetcode 3544. Subtree Inversion Sum
  • 【Nova UI】十五、打造组件库之滚动条组件(上):滚动条组件的起步与进阶
  • Electron-Vue3、Electron-React、Electron-Angular打造舆情监控系统项目
  • Java SE(12)——异常(Exception)
  • InternVL3: 利用AI处理文本、图像、视频、OCR和数据分析
  • C++11异步编程 --- async
  • SQL易混点:你知道ON 和 WHERE 的区别吗
  • 软考 系统架构设计师系列知识点之杂项集萃(58)
  • 检疫期缩减至30天!香港优化内地进口猫狗检疫安排
  • 智能手表眼镜等存泄密隐患,国安部提醒:严禁在涉密场所使用
  • 外企聊营商|波音速度:创新审批促“起飞”
  • 真人秀《幸存者》百万美元奖金,25年间“缩水”近一半
  • 旭辉控股集团主席林中:债务重组是活下来的前提,自营开发业务收缩至少数核心城市
  • 为证明我爸是我爸,我将奶奶告上法庭