




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计与算法语言 大学计算机知识基础,程序构造的基本方法,信息科学与工程学院,程序构造的基本方法,2,上讲回顾,计算机中数据的表示 进位计数制 基数 位权 机器数怎样用二进制表示负数并正确运算 原码、补码、反码、移码 小数点的表示 定点 浮点 非数值数据的编码 汉字编码 布尔代数,信息科学与工程学院,程序构造的基本方法,3,程序构造的基本方法,1. 数据组织 2. 数据处理 数据的组织与数据的处理相互影响,信息科学与工程学院,程序构造的基本方法,4,1. 数据组织,两大类型 内存数据组织:存放于内部存储器中的数据,数量相对较小 外存数据组织:存放于内部(一小部分)和外部(绝大部分)存储器中的数据,数量相对较大,需要专用数据管理系统来协调数据的交换 文件系统 数据库系统,信息科学与工程学院,程序构造的基本方法,5,1. 数据组织,逻辑组织:一种抽象的描述,只涉及数据之间的组织关系。其组织方法 1. 简单 2. 线性 3. 层次 4. 网状 5. 外存 物理组织:一种具体的组织形态,信息科学与工程学院,程序构造的基本方法,6,1. 数据组织,简单数据组织方法 用于相互之间没有太强关系的少量数据 对每一个数据都取一个名称,代表存放数据的空间,x,y,k,l,z,信息科学与工程学院,程序构造的基本方法,7,1. 数据组织,线性数据组织方法 用于同类的批量数据,即“向量”,例如 一时间段对内某一事物的观测数据x1, x2, , xn-1, xn 一个班级全体学生学号 整批数据共享一个名称,而其中每一个具体数据通过赋予各自的一个序号给出,x1,x2,x3,x4,x5,x6,x7,x8,x9,信息科学与工程学院,程序构造的基本方法,8,1. 数据组织,线性数据组织方法 具体实现(物理组织)方式 连续: 将这组数据存放在计算机内存中某个连续区域,因此可根据其对应的序号直接计算出每一个数据存储的具体区域,例如:数组 非连续:将这组数据分散存放在计算机内存中,需一个联系每一个数据存储位置的附加区域,将后面一个数据存储位置登记到前面一个数据的附加区域,例如:单向链表,信息科学与工程学院,程序构造的基本方法,9,1. 数据组织,线性数据组织链表(linked table,空间换时间),信息科学与工程学院,程序构造的基本方法,10,1. 数据组织,线性数据组织在链表中插入元素,2060,2030,X,信息科学与工程学院,程序构造的基本方法,11,1. 数据组织,线性数据组织在链表中删除元素,X,X,2030,信息科学与工程学院,程序构造的基本方法,12,1. 数据组织,线性数据组织栈(stack,先进后出) First In Last Out(FILO) 压栈(push) 出栈(pop) 数据操作特点 只能在同一端(栈顶)进行 每次涉及一个数据,栈底,栈顶,入栈,出栈,信息科学与工程学院,程序构造的基本方法,13,1. 数据组织,线性数据组织队列(queue,先进先出) First In First Out(FIFO) 进队(push) 出队(pop) 数据操作特点 在不同端进行插入和删除操作 每次涉及一个数据,队尾,队头,进队,出队,信息科学与工程学院,程序构造的基本方法,14,1. 数据组织,层次数据组织方法树(tree) 节点 根 枝 叶子 从根到叶子的一条 路经上的所有节点 构成一个线性关系 整个数型结构由多 个线性关系叠加构成,Root,L,R,LL,RL,RLL,RR,LRR,信息科学与工程学院,程序构造的基本方法,15,1. 数据组织,网状数据组织方法图(graph) 允许任意两个数据之间都可存在关系 使用一个矩阵定义数据之间的关系 使用线性复合的方式表达网状数据组织 可定义数据之间的顺序关系 可定义数据之间的关系代价,A,B,D,E,C,信息科学与工程学院,程序构造的基本方法,16,1. 数据组织,外存数据组织方法(大容量数据组织)文件(file) 建立(create) 使用 打开(open) 读/写(read/write) 关闭(close) 删除(delete) 移动(move),信息科学与工程学院,程序构造的基本方法,17,2. 数据处理方法算法,定义:一个有穷的指令集,规定一个运算序列 特点 有零或多个输入(事先得到的) 有一或多个输出 确定性:每一步都应确切和无歧义定义 有穷性 有效性 算法与数据组织密切相关,是在某种数据组织结构上的一种解决问题的计算方法,信息科学与工程学院,程序构造的基本方法,18,2. 数据处理方法算法,衡量算法的标准用相对量级表示 时间 空间,信息科学与工程学院,程序构造的基本方法,19,2. 数据处理方法算法,1. 算法描述 算法是抽象的,但必须通过具象的方式来展示。形式 语言:自然语言、类计算机语言、计算机语言 图形: 流程图、N-S图、PAD 图 表格 2. 常用算法,信息科学与工程学院,程序构造的基本方法,20,2. 数据处理方法算法,用流程图表示基本逻辑控制规则,处理,顺序,单分支,双分支,信息科学与工程学院,程序构造的基本方法,21,2. 数据处理方法算法,用流程图表示基本逻辑控制规则,循环(先判断),循环(后判断),信息科学与工程学院,程序构造的基本方法,22,2. 数据处理方法算法,算法描述的图形方式N-S图 由Ike Nassi和Ben Shneiderman提出 一种结构化的流程图 通过一个矩形框表达一个对数据的基本处理 三种基本的元素框:顺序、分支、循环 通过三种元素框的任意逻辑组合(框的嵌套)来表达算法,信息科学与工程学院,程序构造的基本方法,23,2. 数据处理方法算法,三种基本的元素框顺序,A,B,信息科学与工程学院,程序构造的基本方法,24,2. 数据处理方法算法,三种基本的元素框分支,P成立?,是,否,A,B,信息科学与工程学院,程序构造的基本方法,25,2. 数据处理方法算法,三种基本的元素框循环,C,当P成立,C,当P成立,信息科学与工程学院,程序构造的基本方法,26,2. 数据处理方法算法,例3-2:判断一个正整数是否是素数,输入:正整数N,W0, I2,RN/I的余数,R=0?,II+1,W=0?,直到IN-1或W=1,W1,N是素数,N不是素数,T,F,T,F,信息科学与工程学院,程序构造的基本方法,27,2. 数据处理方法算法,常用算法 排序 查找 递归 回溯,信息科学与工程学院,程序构造的基本方法,28,2. 数据处理方法算法,排序(sorting):一组数据有序化的过程 由小到大排列称为升序(ascent sorting) 由大到小排列称为降序(descent sorting) 类型(用于线性数据组织) 冒泡:将比较小的数据(泡泡)向前挤,升序;将比较大的数据(泡泡)向前挤,降序 选择:从未排序的数据集中选择最小的,升序;从未排序的数据集中选择最大的,降序,信息科学与工程学院,程序构造的基本方法,29,2. 数据处理方法算法,冒泡排序 每遍从最后一个数据开始进行两两比较并将小的排在大的前面(交换两数据),直到要冒出的位置 第一遍需要比较n - 1次冒出所有数据中的最小的,冒出位置是1 第二遍需要比较n - 2次冒出剩余数据中的最小的(第二小的) ,冒出位置是2 以此类推,共进行n - 1遍(最后第n遍不需要进行),信息科学与工程学院,程序构造的基本方法,30,信息科学与工程学院,程序构造的基本方法,31,信息科学与工程学院,程序构造的基本方法,32,2. 数据处理方法算法,选择排序 每遍首先确定要选择的位置,再从未排序数据中找出最小的并与选择位置处的数据交换 第一遍需要比较n - 1次得到所有数据中的最小的,选择位置是1 第二遍需要比较n - 2次得到剩余数据中的最小的(第二小的),选择位置是2 以此类推,共进行n - 1遍(最后第n遍不需要进行),信息科学与工程学院,程序构造的基本方法,33,信息科学与工程学院,程序构造的基本方法,34,2. 数据处理方法算法,查找(search):从一组数据中找出所需数据的过程 直接(用于线性数据组织) :逐一地与需查找的数据比较 二叉树(用于树型数据组织) 二叉搜索(排序)树:任意一结点的左子树的所有结点的数据都小于该结点数据,反之则大于 从树根开始与需查找的数据比较,大则向左,小则向右,直到树叶 动态查找需在查不到时将需查找数据插入,信息科学与工程学院,程序构造的基本方法,35,2. 数据处理方法算法,递归(recursion):通过概念定义概念本身 一种特殊的循环,在循环体内重复循环 特征 “自引用”规则 终止条件 本质 分解:向终止条件逼近 综合:从终止条件返回 分解与综合互为逆过程 形式:单递归、多递归、嵌套递归,信息科学与工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 非织造布调浆工岗位安全技术规程
- 2025湖北黄冈市武穴市赴高校专项招聘职教中心教师9人考前自测高频考点模拟试题及答案详解(网校专用)
- 非婚生子女抚养合同书5篇
- 船舶电器安装工应急处理能力考核试卷及答案
- 公司病虫害防治工岗位职业健康技术规程
- 铝电解筑炉工出勤率考核试卷及答案
- 2025安徽芜湖经开区招聘35人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025年企业项目合作协议
- pep2-SVKI-生命科学试剂-MCE
- 2025年宝鸡文理学院硕士招聘(21人)考前自测高频考点模拟试题及答案详解(夺冠)
- 医学装备发展规划与配置方案、原则和标准
- 高速公路收费系统施工技术指南
- Unit 5 The colourful world单元整体说课稿表格式-2024-2025学年人教PEP版(2024)英语三年级上册
- 【核心素养目标】《燕歌行并序》公开课一等奖创新教学设计 统编版高中语文选择性必修中册
- 2025年防城港市公安局交通警察支队港口大队招考高频重点提升(共500题)附带答案详解
- 2025版学校空调设备维保与绿色校园建设合同范本3篇
- 小学五年级语文阅读理解考场答题技巧方法公式步骤复习课件
- 浙江省绍兴市越城区绍兴市第一初级中学2024-2025学年九年级上学期10月月考科学试题
- 食材采购协议书
- 社区网格员笔试考试题库及答案
- DL T 5745-2016 电力建设工程工程量清单计价规范
评论
0/150
提交评论