- 1、本文档共83页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构第1章 绪论概要1
基本操作: Creat( C, x, y) 操作结果:构造复数 C,其实部和虚部 分别被赋以参数 x 和 y 的值。 GetReal( C, realPart ) 初始条件:复数已存在。 操作结果:用realPart返回复数Z的实部值。 GetImag( C, ImagPart ) 初始条件:复数已存在。 操作结果:用ImagPart返回复数Z的虚部值。 Add( C1,C2, sum ) 初始条件:C1, C2是复数。 操作结果:用sum返回两个复数C1, C2 的 和值。 ...... } ADT Complex typedef struct { float Realpart; float Imagpart; }Complex; 抽象数据类型复数的表示与实现 // -----基本操作的实现 void Creat( Complex C, float x, float y ) { C.Realpart=x; C.Imagpart=y; } // -----存储结构的定义----表示 float GetReal( complex C)// 返回复数 C 的实部值 void Add( Complex z1, Complex z2, Complex sum ) {// 以 sum 返回两个复数 z1, z2 的和 sum.Realpart = z1.Realpart + z2.Realpart; sum.Imagpart = z1.Imagpart + z2.Imagpart; } { return C.Realpart; } { 其它省略 } 算法定义:一个有穷的指令集,这些指令为解决某一特定任务规定了一个运算序列 算法的描述: 自然语言 流程图 程序设计语言 伪码 1.4 算法和算法分析 算法的特性: 输入 有0个或多个输入 输出 有一个或多个输出(处理结果) 确定性 每步定义都是确切、无歧义的 有穷性 算法应在执行有穷步后结束 有效性 每一条运算应足够基本 算法的评价 正确性 可读性 健壮性 高效性(时间代价和空间代价) 算法效率:用依据该算法编制的程序在计算机上执行所消耗的时间来度量 算法的效率的度量 事后统计 事前分析估计 1.事后统计:利用计算机内的计时功能,不同算法的程序可以用一组或多组相同的统计数据区分 缺点: ?必须先运行依据算法编制的程序 ?所得时间统计量依赖于硬件、软件等环境因素,掩盖算法本身的优劣 2.事前分析估计: 一个高级语言程序在计算机上运行所消耗的时间取决于: ?依据的算法选用何种策略 ?问题的规模 ?程序语言 ?编译程序产生机器代码质量 ?机器执行指令速度 同一个算法用不同的语言、不同的编译程序、在不同的计算机上运行,效率均不同,———使用绝对时间单位衡量算法效率不合适 算法中基本语句重复执行的次数是问题规模n的某个函数f(n),算法的时间量度记作: T(n)=O(f(n)) 时间复杂度的渐进表示法 数学符号“O”的定义为: 若T(n)和f(n)是定义在正整数集合上的两个函数,则T(n)?=?O(f(n))表示存在正的常数C和n0,使得当n≥n0时都满足0≤T(n)≤Cf(n)。 表示随着n的增大,算法执行的时间的增长率和f(n)的增长率相同,称渐近时间复杂度。 n越大算法的执行时间越长 排序:n为记录数 矩阵:n为矩阵的阶数 多项式:n为多项式的项数 集合:n为元素个数 树:n为树的结点个数 图:n为图的顶点数或边数 算法中重复执行次数和算法的执行时间成正比的语句 对算法运行时间的贡献最大 例如:T(n)=4n3+3n2+2n+1= O(n3) 其中c=10,n0=1 n * n阶矩阵加法: for( i = 0; i n; i++) for( j = 0; j n; j++) c[i][j] = a[i][j] + b[i][j]; 语句的频度(Frequency Count ): 重复执行的次数:n*n; T( n ) = O ( n 2) 即:矩阵加法的运算量和问题的规模n的平方是同一个量级 x = 0; y = 0; for ( int k = 0; k n; k ++ ) x ++; for ( int i = 0; i n; i++ ) for ( int
您可能关注的文档
- 典型案例社会服务概要1.doc
- American geography概要1.ppt
- 数据库习题及答案(五套)概要1.doc
- 典型相关分析方法研究概要1.docx
- 数据中心虚拟化操作手册概要1.docx
- 典型虚词用法例说概要1.pptx
- 数据库原理与应用-期末考试复习题概要1.docx
- 数据库原理A卷概要1.doc
- 数据存储安全与恢复概要1.ppt
- 数据库原理与应用004概要1.pptx
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)