外排序

外排序

几种排序方法:

https://blog.csdn.net/huyidai/article/details/104507949

补充:

计算机存储器主要有两种:

1.主存储器:简称“内存”或“主存”,有

随机访问存储器

高速缓存

视频储存器

2.外储存器:简称“外存”,有

硬盘(几百G—几百T,10^12B)

磁带(几个P,10^15B)

内存的优缺点:

优点:访问速度快

缺点:造价高,存储容量小,断电丢数据

CPU直接与主存沟通,对存储在内存地址的数据进行访问时,所需要的时间可以看做时一个很小的常数

外存的优缺点:

优点:价格低,信息不易失,便携性

缺点:存取速度慢

一般的内存访问存取时间的单位是纳秒(1纳秒=10^-9秒)

外存一次访问时间则以毫秒(1毫秒=10^-3秒)或秒为数量级

牵扯到外存的计算机程序应当尽量减少外存的访问次数,从而减少程序执行的时间

KB        10^3B(页快)

MB        10^6B(高速缓存)

GB         10^9B(内存,硬盘)

TB           10^12B(磁盘阵列)

PB           10^15B(磁带库)

EB=10^18B,ZB=10^21B,YB=10^24B

Googol是10的100次方

文件的逻辑结构

文件是记录的汇集:一个文件的各个记录按照某种次序排列起来,各记录间就自然的形成了一种线性关系,因而,文件可看成是一种线性结构。

文件的组织和管理

1.逻辑文件:

对高级程序语言的编程人员而言连续的字节构成记录,记录构成逻辑文件

2.物理文件:

成块的分布在整个磁盘中

3.文件管理器:

操作系统或数据库系统的一部分,文件的记录无结构,数据库文件是结构型记录,把逻辑位置映射为磁盘中具体的物理位置

文件组织

文件的逻辑组织有三种形式:

1.顺序结构的定长记录

2.顺序结构的变长记录

3.按关键码存取的记录

常见的物理组织结构

1.顺序结构——顺序文件

2.计算寻址结构——散列文件

3.带索引的结构——带索引文件

倒排是一种特殊的索引

文件上的操作

检索:在文件中寻找满足一定条件的记录

修改:是指对记录中某些数据值进行修改。若对关键码值进行修改,这相当于删除加插入

插入:向文件中增加一个新记录

删除:向文件中删去一个记录

排序:对指定好的数据项,按其值的大小把文件中的记录排成序列,较常用的是按关键码值的排序

 

C++的标准输入输出流类

istream是通用的输入流和其他输入流的基类,支持输入

ostream是通用的输出流和其他输出流的基类,支持输出

iostream是通用的输入输出流和其他输入输出流的基类,支持输入输出

3个用于文件操作的文件类

ifstream类,从istream类派生,支持从硬盘文件的输入

ofstream类,从ostream类派生,支持从硬盘文件的输出

fstream类,从iostream类派生,支持从硬盘文件的输入和输出

缓冲区和缓冲池

目的:减少磁盘访问的次数

方法:缓冲或缓存

在内存中保留尽可能多的块,可以增加待访问的块已经在内存中的机会

存储在一个缓冲区中的信息经常成为一页往往是一次 I/O的量

缓冲区合起来称为缓冲池

替换缓冲区的策略

新的页块申请缓冲区时,把最近最不可能被再次引用的缓冲区释放来存放新页

先进先出,最不频繁使用,最近最少使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值