MIS 第2节.pptVIP

  • 1
  • 0
  • 约1.92千字
  • 约 15页
  • 2017-12-26 发布于河北
  • 举报
MIS 第2节

第三章 3.1 数据处理 PML 一.数据结构 1.数据 1.数据是描述客观事物的数字、字母和符号,是计算机程序使用和加工的“原料”。 2.数据结构 数据结构指的是数据之间的相互关系. 它主要包含三部分内容: 1)数据的逻辑结构,也就是数据元素之间的逻辑关系。 2)数据的存储结构,也就是数据元素及其相互关系(逻辑结构)在存储器中的实现方式。 3)对数据需要施加的操作。(算法) 主要包括:查找、插入、删除、修改和排序等。 算法+数据结构=程序 (PASCAL 之父 N. Wirth 在 1976 年用 “算法+数据结构=程序” 说明了算法、数据结构及程序三者之间的关系。 ) program bubble; 一段PASCAL代码(冒泡排序) const n = 7; var a: array[1..n] of integer; ??? i, j, k, t: integer; begin ???? write(Enter date:); ???? for i := 1 to n do read(a[ i ]); ???? for i := 1 to n -1 do ????? for j := n downto i + 1 do ?????? if a[ j - 1] a[ j ] then ??????? begin t := a[ j - 1]; a[ j - 1] := a[ j ];a[ j ] := t end; end. 二.数据的逻辑结构 数据的逻辑结构按关系分为线性结构和非线性结构。 2.1 线性结构包括线性表、堆栈和队列、字符串、数组、广义表。 2.2 非线性结构包括树、二叉树、有向图和无向图。 三.线性表(数组) 1.定义 线形表是一种最简单的数据结构,它是一种线性结构。 线性表是n(≥0)个数据元素a1,a2,…,an的有限序列,它的结构性质在本质上只有元素间的线性关系。 线性关系,即在线性表中,除第一个元素和最后一个元素外,每个元素有且仅有一个直接前趋和一个直接后继。 线性表示意图 线性表的基本运算 1:求出线性表的长度; 2:存放一个新的数据元素于表的第i个位置; 3:在第i-1个和第i个元素之间插入数据元素; 4:删除第i个数据元素; 5:将两个或两个以上线性表合并成一个线性表; 6:将一个线性表折成两个以上的线性表; 7:复制一个线性表; 8:按某个特定的值查找线性表; 9:对线性表中的数据元素按某个数据项值递增(或递减)的顺序重新排列。 四.算法 定义:一个有穷的指令集,这些指令为解决某一特定任务规定了一个运算序列 特性: 输入 有0个或多个输入 输出 有一个或多个输出(处理结果) 确定性 每步定义都是确切、无歧义的 有穷性 算法应在执行有穷步后结束 有效性 每一条运算应足够基本 事例学习:冒泡排序法 明确问题:非递增排序 解决方案:如果相邻两数递增, 两两交换 五.程序设计语言简介 用途:描述和实现算法 语言及实现工具:编译环境/编译器 集成开发环境:编辑器+编译器+调试器+其它辅助工具 编辑器:代码编辑器+资源编辑器 资源:对话框+菜单+工具栏+图标+声音+动画+视频+… (代码以外的所有东西) 小结 小结: 数据结构;算法;程序设计语言 ================= 下节: 数据库 SQL语言 * * ASDFG 12345 !@#$% n i 2  1 线性表的顺序存放 算法设计 冒泡 一趟冒泡之后 04 16 16 04 01 09 09 01 02 07 07 02 “冒泡”的过程说明 int array[10] = {34,23,56,67,67,12,34,89,45,23}; for(int a = 0;a 10;a++) { ? for(int b = 0;b10;b++) {? ? ? if(array[a] array[b]) {? ? ? ? int tmp = array[a]; ? ? ? ? array[a] = array[b]; ? ? ? ? array[b] = tmp; ? ? ? } ? ? } } ? * * *

文档评论(0)

1亿VIP精品文档

相关文档