数据结构教程 第三十八课 文件概念、顺序文件

教学目的: 掌握文件基本概念,顺序文件的概念。

教学重点: 文件基本概念

教学难点: 逻辑结构与物理结构的关系。

授课内容:

一、表与文件

和表类似,文件是大量记录的集合。习惯上称存储在主存储器(内存储器)中的记录集合为表,称存储在二级存储器(外存储器)中的记录集合为文件。

二、文件基本概念

文件:是由大量性质相同的记录组成的集合。

文件按记录类型不同分类 操作系统的文件 一维的连续的字符序列
数据库文件
带有结构的记录的集合,每条记录是由一个或多个数据项组成的集合。

姓名 准考证号 政治 语文 数学 外语
刘青 1501 78 90 100 95
张朋 1502 64 88 90 74
崔永 1503 90 100 85 89
郑琳 1504 85 73 90 91
...          

文件按记录长度是否相同分类 定长记录文件 文件中每个记录含有信息长度相同。
不定长记录文件 文件中每个记录含有信息长度不等。

记录的逻辑结构是指记录在用户或应用程序员面前呈现的方式,是用户对数据的表示和存取方式。

姓名 准考证号 政治 语文 数学 外语
刘青 1501 78 90 100 95
张朋 1502 64 88 90 74
崔永 1503 90 100 85 89
郑琳 1504 85 73 90 91
...          

这张成绩表呈现的结构即是逻辑结构。

记录的物理结构是数据在物理存储器上存储的方式。一条物理记录指的是计算机用一条I/O命令进行读写的基本数据单位。

三、顺序文件

顺序文件中的物理记录的顺序和逻辑记录的顺序是一致的。

四、总结

时间: 2024-09-29 02:31:37

数据结构教程 第三十八课 文件概念、顺序文件的相关文章

数据结构教程 第三十九课 索引文件

教学目的: 掌握索引文件的有关概念 教学重点: 索引文件的基本概念,索引文件的重要意义 教学难点: 索引文件的建立 授课内容: 一.索引文件的基本概念 除了文件本身(称作数据区)之外,别建立一张指示逻辑记录和物理记录之间一一对应关系的表--索引表. 索引表中的每一项称作索引项.不论主文件是否按关键字有序,索引表中的索引项总是按关键字(或逻辑记录号)顺序排列. 若数据区中的记录也按关键字顺序排列,则称索引顺序文件.反之,若数据区中记录不按关键字顺序排列,则称非顺序文件. 数据区: 物理记录号 姓名

数据结构教程 第三十五课 实验七 查找

教学目的: 练习顺序查找.折半查找及二叉排序树的实现 教学重点: 教学难点: 授课内容: 顺序查找 折半查找 顺序查找及折半查找示例 #include <stdio.h> typedef int KeyType; typedef struct{ KeyType key; int maths; int english; }ElemType; #define EQ(a,b) ((a)==(b)) #define LT(a,b) ((a)< (b)) #define LQ(a,b) ((a)&

数据结构教程 第三十二课 哈希表(一)

教学目的: 掌握哈希表的概念作用及意义,哈希表的构造方法 教学重点: 哈希表的构造方法 教学难点: 哈希表的构造方法 授课内容: 一.哈希表的概念及作用 一般的线性表,树中,记录在结构中的相对位置是随机的,即和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较.这一类查找方法建立在"比较"的基础上,查找的效率依赖于查找过程中所进行的比较次数. 理想的情况是能直接找到需要的记录,因此必须在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使每个关键

数据结构教程 第三十四课 插入排序、快速排序

教学目的: 掌握排序的基本概念,插入排序.快速排序的算法 教学重点: 插入排序.快速排序的算法 教学难点: 快速排序算法 授课内容: 一.排序概述 排序:将一个数据元素的无序序列重新排列成一个按关键字有序的序列. 姓名 年龄 体重 1李由 57 62 2王天 54 76 3七大 24 75 4张强 24 72 5陈华 24 53 上表按年龄无序,如果按关键字年龄用某方法排序后得到下表: 姓名 年龄 体重 3七大 24 75 4张强 24 72 5陈华 24 53 2王天 54 76 1李由 57

数据结构教程 第三十六课 选择排序、归并排序

教学目的: 掌握选择排序,归并排序算法 教学重点: 选择排序之堆排序,归并排序算法 教学难点: 堆排序算法 授课内容: 一.选择排序 每一趟在n-i+1(i=1,2,...n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录. 二.简单选择排序 算法: Smp_Selecpass(ListType &r,int i) { k=i; for(j=i+1;j<n;i++) if (r[j].key<r[k].key) k=j; if (k!=i) { t=r[i];r[i]=r[k

数据结构教程 第三十课 静态查找表(二)有序表的查找

教学目的: 掌握有序表的折半查找法 教学重点: 折半查找 教学难点: 折半查找 授课内容: 一.折半查找的查找过程 以有序表表示静态查找表时,Search函数可用折半查找来实现. 先确定待查记录所在的范围(区间),然后逐步缩小范围直到找到或找不到该记录为止. 二.折半查找的查找实现 int Search_Bin(SSTable ST,KeyType key){ low=1;high=ST.length; while(low<=high){ mid=(low+high)/2; if EQ(key,

GOLIVE5.0教程(三十八)

教程 4.2 在Web页面中插入图像 做好了上面的操作,就能很方便的插入图像了,其操作方法与DreamWeaver 3相类似,只是GoLive 5更加方便些,不必先制定好图层,或者表格再来插入.在下面的操作中,本节将讲述一种实用性很强的技巧,请注意了! 步骤一.从Window下拉菜单中选择Objects命令,让Objects面板显示在屏幕上,并从Basic标签中拖动Image图标至图4-7所地方. 图4-7 拖动至此处 步骤二.按住键盘上的Ctrl键,将上一步操作建立的Image Frame(图

C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十八)

C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十八)地图间的传送与切换 终于到了地图处理的最后一节,本节我将为大家讲解如何通过传送点实现主角在地图间的传送以及地图之间的切换.地图转换的关键在于把握好移除与添加:即移除之前地图上除主角之外的所有对象,然后再重新加载新地图上的所有对象.本教程示例游戏中,每张地图的信息都详细的记录于Config.xml配置文件中,包括每张地图的表层.遮挡层.障碍物层等等,然后再附加上本节后面将向大家讲解的传送点信息:这样,

GOLIVE5.0教程(三十六)

教程 步骤三.在"浏览文件夹"对话框中选择保存图像文档的文件夹.然后单击File Format下拉按钮,进入File Format下拉列表后选择JPEG格式,参见图4-4. 如前所述,站点中用于保存图像文档的文件夹是事先存的,并需要先将图像文档复制在此文件夹中,除非您不想通过本地站点引用它,这与DreamWeaver 3等同类软件的要求一致.所不同的是GoLive 5可以直接引用来自Photoshop的图像(本教程后面将会介绍此功能),这里将要使用的是GIF与JPEG格式的图像,所以需