- 8
- 0
- 约1.38万字
- 约 50页
- 2017-02-09 发布于河南
- 举报
数据结构(C语言版)
4 数据结构(data structure):相互之间存在一种或多种特定关系的数据元素的集合。 一般包括三方面内容: 数据的逻辑结构—数据元素之间的的逻辑关系。 数据的存储(物理)结构—数据的逻辑结构在计算机存储器中的表示。 数据的运算—对数据施加的操作。 例:设有数据集合A={3.0,2.3,5.0,-8.5,11.0} ,两种不同的存储结构。 顺序结构:数据元素存放的地址是连续的; 链式结构:数据元素存放的地址是否连续没有要求。 1.4 算法描述及算法分析 一般情况下,算法中基本操作重复执行次数是问题规模n的某个函数f(n),算法的时间量度记作: T(n)=O(f(n)) 它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称做算法的渐进时间复杂度,简称时间复杂度。 计算 1 + 2 + 3 + 4 + ...... ?+ 100 = ? int sum = 0, n = 100; ? ?//执行了 1 次 for (int i = 1; i = n; i++) ?//n + 1 次{sum += i; ?} //执行了 n 次 printf( sum = %d, sum); ?//1 次 这些语句执行次数的总和就可以理解为是该算法所需要的时间。 该算法所用的时间(算法语句执行的总次数)为 :f(n)= 1 + ( n + 1 ) + n + 1 = 2n + 3 而当 n 不断增大,比如我们这次所要计算的不是?1 + 2 + ... ?+ 100 = ? 而是?1 + 2 + ... + n = ?其中 n 是一个十分大的数字,那么由此可见,上述算法的执行总次数(所需时间)会随着 n 的增大而增加,但是在 for 循环以外的语句并不受 n ?的规模影响(永远都只执行一次)。 所以我们可以将上述算法的执行总次数f(n)简单的记做:2n 或者简记 ?n (称线性阶) 该算法的时间复杂度又记做o(n) 计算 1 + 2 + 3 + 4 + ...... ?+ 100 = ? int n = 100, sum = 0; ? ? ? ?//执行 1 次 sum = n*(n + 1)/2; ? ? ? ?//执行 1 次 printf(sum = %d, sum); ?//执行 1 次 ?这样我们针对同一个?1 + 2 + ...... ?+ 100 = ?问题,不同的算法又得到了一个算法的时间复杂度:f(n)=3 ? ? T(n)=o(f(n))=O(3) ? ? 一般记作 O(1) 称为常量阶 P16 for(i=2,i=n;++i) for(j=2;j=i-1;++j) { ++x; //(n-1)(n-2)/2 a[i][j]=x; } 4、求下列算法的时间复杂度: int Sum2( int n ) { int sum=0, m, t ; for (m=1; m=n; m++) { p=1 ; for (t=1; t=m; t++) p*=t ; sum+=p ; } return sum ; } 5、求下列算法的时间复杂度: 随堂练习:求该算法的时间复杂度要求写出每行代码的执行次数 int n = 100000; ? ? ? ? for (int i = 0; i n; i++) {? for (int j = 0; j n; j++) {? printf(i = %d, j = %d\n, i, j); ? ? ? ? } } for (int i = 0; i n; i++) { printf(i = %d, i); ? ? ? ?} printf(Done); ? 随堂练习:求该算法的时间复杂度 int n = 100000; ? ? ? ?//执行了 1 次 for (int i = 0; i n; i++) {? //n + 1 次 for (int j = 0; j n; j++) {? //n*(n+1) 次 printf(i = %d, j = %d\n, i, j); //n*n 次 ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? } for (int i = 0; i n; i++) {//执行了 n + 1 次 ? printf(i = %d, i); ? ? ? ?//执行了 n 次 ? ? ? ? ? ? ? ? } printf(Done); ? ? ?
您可能关注的文档
最近下载
- 行者讲课脉法下篇.doc VIP
- (人教版)数学一年级上册寒假应用题“天天练”作业设计,含30份题组,附参考答案.doc
- 多参数监护仪技术参数和要求.doc VIP
- HL德國創新機能家電烤箱HL-840用户手册.pdf
- (高清!)2025年3月29日河北省事业单位联考C类《职测》真题及答案.pdf VIP
- ZORRO遥控器中文说明书.pdf
- 多参数监护仪技术参数.doc VIP
- 05R417-1 室内管道支吊架建筑工程图集 高清.docx VIP
- 2025届安徽省江南十校高三下学期第一次联考(一模)数学试题含答案.pdf VIP
- 三年级上册数学思维训练题30题,拓展孩子思维能力201123.pdf VIP
原创力文档

文档评论(0)