数据的逻辑结构

  • 格式:docx
  • 大小:20.59 KB
  • 文档页数:3

数据的逻辑结构:分为线性结构个非线性结构

数据的存储结构:存储结构是逻辑结构 在计算机存储器里得实现。

数据的运算:数据的运算是定义在数据的逻辑结构上的但运算的具体实现要在存储结构上进行多媒体就是多重媒体的意思,可以理解为直接作用于人感官的文字、图形、图像、动画、

音和视频等各种媒体的统称,即多种信息载体的表现形式和传递方式。多媒体技术是利用计算机对文本、图形、图像、声音、动画、视频等多种信息综合处理、建立逻辑关系和人机交互作用的技术。主要包括: ·音频技术:音频采样、压缩、合成及处理、语音识别等。 ·视频技术:视频数字化及处理。 图像技术:图像处理、图像、图形动态生成。 ·图像压缩技术:图像压缩、动态视频压缩。 ·通信技术:语音、视频、图像的传输。 ·标准化:多媒体标准化。 多媒体技术涉及的内容 多媒体数据压缩:多模态转换、压缩编码; 多媒体处理:音频信息处理,如音乐合成、语音识别、文字与语音相互转换;图像处理,虚拟现实; 多媒体数据存储:多媒体数据库;

系统软件. 操作软件

软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序是软件的一部分及软件=程序+文档=数据结构+算法+文档是满足用户需求的一种程序。程序不一定是软件,而软件包含了很多个程序。 程序包括软件和病毒!软件就是行为合法的程序集!

软件是由程序组成

1首先编译器进行语法分析,此时一个语句作为一串记号流有语法分析器进行处理按照语言的文法检查每个语法分析树,判断是否为合乎语法的句子。

2然后进行语义分析,是对结构上正确的源程序进行上下文有关性质的审查,进行类型审查。语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息 。

3最后生成中间代码。中间代码是向目标代码即机械语言的代码过度的一种编码其形式其形式尽可能与机械的汇编语言相似,以便生成下一步代码。

4优化。对中间代码进行局部和全局的优化目的式运算的速度更快占内存更小。

5再经过链接器的链接就可以生成目标代码最后的产生EXE文件了。

有些时候需要把多个文件产生的目标文件进行链接,产生最后的代码。这一过程称为交叉链接。

操作系统(Operating System,简称OS)是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。

资源管理 程序控制 人机交互 进程管理 内存管理 虚拟内存用户接口

如果顺序查找表的元素按照关键字的值有序存放,那么可利用高效的二分查找来完成查询。条件假定元素按关键字的值升序排列,将给定的数据与有序表中间位置的元素做比较,若两者相等则查找成功;若前者小于后者则在中间位置左边的元素中继续查找;若前者大于后者则在中间位置右边的元素中继续查找。不断重复这一过程直到查找成功,或者直到查找区间缩小为一个元素时却仍未找到目标,则查找失败。

• #include

• #include

• int BinSearch( RecType R[ ], KeyType key )

• { int low, high, mid;

• low = 1: high=N;

• while (low <= high) {

• mid = (low + high) / 2;

• if(key==R[mid].Key) return mid; //查找成功

• else if( key

• high = mid-1; //继续在前半区间进行查找

• else

• low = mid + 1; //继续在后半区间进行查找

• }

• return 0; //不存在待查元素 • }

• #include

• void main()

• {

• int a[10],i,key,low,high,mid;

• for(i=0;i<10;i++)

• { cout<<"请输入a["<

• cin>>a[i];

• }

• for(i=0;i<10;i++)

• cout<<"a["<

• cout<<"请输入要查找的数"<

• cin>>key;

• low=0;

• high=9;

• while(low<=high)

• {mid=(low+high)/2;

• if(key==a[mid])

• { cout<

• break;}

• else if(key

• else low=mid+1;

}

cout<<"cannot find"<

}

• 起泡排序的基本思路是:第一趟排序对全部记录R1,R2,…,Rn自左向右顺次两两比较,若Rk大于Rk+1则交换Rk和Rk+1( k=1, 2,…, n-1)。

• 第一趟排序完成后Rn成为序列中最大记录。

• 第二趟排序对序列前n-1个记录采用同样的比较和交换方法,第二趟排序完成后Rn-1成为序列中仅比Rn小的次大的记录。

• 第三趟排序对序列前n-2个记录采用同样处理方法。如此做下去,最多做n-1趟排序,整个序列就排序完成。

• #include

• #include

• void BubleSort(RecType R[ ])

• { RecType x;

• int I,j,flag;

• for (i=1; i

• flag=1; //交换标志位若flag=1表示没有交换

• for ( j=1; j

• if( R[j].key>R[j+1].key ) { //交换两个相邻元素

• x=R[ j ];

• R[j]=R[j+1];

• R[j+1]=x; }

• if(flag) break; //若无交换,表明已有序结束循//在此语句后边加上两个大括号