第1章 绪论讲解上课.pptVIP

  • 2
  • 0
  • 约3.42千字
  • 约 34页
  • 2017-12-30 发布于湖北
  • 举报
第1章 绪论讲解上课.ppt

记号“O”读作“大O”,它表示随问题规模n的增大算法执行时间的增长率和f(n)的增长率相同。“O”的形式定义为: 若f(n)是正整数n的一个函数,则T(n)=O(f(n))表示存在一个正的常数M,使得当n≥n0时都满足: |T(n)|≤M|f(n)| 也就是只求出T(n)的最高阶,忽略其低阶项和常系数,这样既可简化T(n)的计算,又能比较客观地反映出当n很大时算法的时间性能。 例如,T(n)=3n2-5n+10000=O(n2) 本质上讲,是一种最高数量级的比较 一个没有循环的算法的基本运算次数与问题规模n无关,记作O(1),也称作常数阶。 一个只有一重循环的算法的基本运算次数与问题规模n的增长呈线性增大关系,记作O(n),也称线性阶。 其余常用的还有平方阶O(n2)、立方阶O(n3)、对数阶O(log2n)、指数阶O(2n)等。 各种不同数量级对应的值存在着如下关系: O(1)O(log2n)O(n)O(nlog2n)O(n2)O(n3)O(2n)O(n!) 数据结构 教材: 数据结构及应用算法教程 严蔚敏等,清华大学出版社 参考书: 1、《大话数据结构》,程杰,清华大学出版社 2、《零基础学数据结构》,机械出版社 3、《数据结构(C语言版)》严蔚敏,吴伟民 清华大学出版社 。 4、《数据结构(用面向对象方法与C++描述)》殷人昆等 清华大学出版社 数据结构是什么? 高级程序语言 数据结构 算法 程序? 三者关系 内容 数据结构的作用和地位 考核要求 授课的方法 数据结构的定义 授课的思路(学习思路) 数据结构的学习内容 算法 程序 预备知识 C语言 数据结构 软件工程 掌握基本编程方法 掌握数据组织和数据处理的方法 掌握大型软件开发方法 英语单词 英语语法 英语作文,小说 基本要求 课程关系 与语言学习过程类比 动手能力(上机) 数据结构的作用与地位 前期课程 数据结构 计算机基础 C语言 离散数学 后期课程 操作系统 编译原理 数据库原理 软件工程 … 承上启下 计算机科学课程体系(偏软) 数据结构课程的地位 图1.7 数据结构与其它课程的关系 编写程序1 编写程序2 编写程序n ... 具有编程的基本能力 用计算机求解问题的基本思路 讲授课时:36 上机课时:36 评分方式:  平时:10%   作业:20%  期末考试:70% 授课安排及考核要求 学习和讲授方法 演译法 先学习/讲授理论知识,用知识解决问题。 归纳法 先解决具体问题,由此归纳出解决问题的理论知识。 只有归纳法才能产生新的知识!!! 数据结构是什么? 高级程序语言 数据结构 算法 程序? 三者关系 高级程序语言 学习数据结构目的:如何编好大型程序 高级程序语言----学语法(英语语法) 数据结构:前人总结出的规则,学后能规范编程。 高级语言(C,C++,java,pascal) 高级语言,编译后成--计算机语言 编译成0 1代码 发生语法错误 执行错误 计算机语言应包含两种基本结构: 循环语句(for,while) 条件语句(if……else…..) 有循环语句一定有if语句,否则是死循环。 人的思维 VS 计算机思维 编程时,要多加考虑能否用循环实现。 数据结构 简单定义: 利用计算机编程语言(C语言)来描述(定义)所要处理的编程对象的方法,这个方法就是数据结构。 定义:处理对象之间的关系(逻辑结构)+对象及对象关系如何存放在计算机中(物理结构) 利用计算机求解问题,涉及两大核心方法: 1、在计算机中如何描述处理的对象—数据结构 2、处理这些对象的步骤----算法 程序=数据结构+算法 (N.Wirth(沃斯)) 学习内容: 本书学习的内容及学习思路: 数据结构+算法 (将一种数据结构----结合讲这个结构的基本算法---综合基本算法的运用) 只有三种数据结构(逻辑结构): 线性结构:成绩表,图书管理,病历卡 树状结构:博弈类游戏,组织结构。。 图状结构:公路网,通信网 数据结构的学习内容: 已知对象的数据结构,如何定义它 这些结构的基本操作 例:砖的种类---堆砌方法---建楼 数据结构---基本方法---写大程序 数据结构的学习内容: 定义 基本操作,每个用函数数如何实现 做大程序 数据结构的应用: 1、分析对象(数据data) 2、分析对象关系(结构structs,逻辑结构) 3、储存对象及关系到计算机中(物理结构) 4、该结构的基本运算(算法) 5、编写复杂程序(程序应用) 思考:逻辑结构和物理结构有

文档评论(0)

1亿VIP精品文档

相关文档