版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、_HUNANUNIVERSITY课程预习报告题目:自组织线性表学生姓名学 生学号2012080102专 业班 级计算机科学与技术班精品资料_完成日期精品资料_一、需求分析自组织线性表根据估算的访问频率排列记录,先放置请求频率最高的记录,接下来是请求频率次高的记录,依此类推。 自组织线性表根据实际的记录访问模式在线性表中修改记录顺序。 自组织线性表使用启发式规则决定如何重新排列线性表。转置方法的基本原理是,在一次查找过程中,一旦找到一个记录,则将它与前一个位置的记录交换位置。这样,随着时间的推移, 经常访问的记录将移动到线性表的前端,而曾经频繁使用但以后不再访问的记录将逐渐退至线性表的后面。尽管
2、一般情况下自组织线性表的效率可能没有查找数和已排序的线性表那么好,但它也有自身的优势。 它可以不必对线性表进行排序,新记录的插入代价很小;同时也比查找树更容易实现,且无需额外的存储空间。程序能达到的功能:( 1 ) 从文件中读入一组汉字集合,用自组织线性表保存。( 2 ) 在查询时,采用转置法调整自组织线性表的内容。( 3 ) 从文件中依次读入需查询的汉字,把查询结果保存在文件中(如找到,返回比较的次数,如果没有找到,返回比较的次数)二、概要设计抽象数据类型由于每个汉字都有唯一的第一元素和最后元素,每个元素都有唯一的前驱和唯一的后继所以我们用线性表来存储汉字,且汉字是占两个字符位置,因此我们用
3、二维数组来存储汉字。ADT Array_2D=ai,j|ai,j 汉字字符 ,0 i b1-1, 0 j b2-1精品资料_R=R1,R2R1=<ai,j,ai+1,j>|ai,j,ai+1,jD,0 i b1-2,0 j b2-1R2=<ai,j,ai,j+1>|ai,j,ai,j+1D,0 i b1-1,0 j b2-2基本操作P:InitArray(&A,b1,b2); /初始化二维数组DestroyArray (&A); /删除这个二维数组ValueArray (A, &e,index1,index2);AssignArray (&
4、;A, e, index1,index2); ADT Array_2算法的基本思想将文件中的汉字读入存储数组,将需要查找的汉字输入查找数组中,然后将查找数组中的汉字依次与存储数组中的汉字进行比较,若找到该汉字则进行转置操作,交换该汉字与前一个汉字的位置和比较次数,若没有找到则输出存储数组的长度,循环此操作一直到查找数组中的汉字全部查找完毕。程序流程程序主要由三个步骤组成:输入模块:读入两组汉字。处理模块:计算两组汉字的个数,进行查找,互换操作。输出模块:将查找结果输出。三、详细设计实现概要设计中的数据类型倒置函数,查找到一次后,与前一个位置的数互换精品资料_bool flag;void Inv
5、erse(char a2,int i,int j)char temp=ai0;ai0=aj0;aj0=temp;temp=ai1;ai1=aj1;aj1=temp;查找汉字int search(char a2,int size,char c2)flag=0;int i;for( i=0;i<size;i+)if(ai0=c0 && ai1=c1)/汉字所占的两位是否都相同flag=1;break;if(flag)if(i>0)Inverse(a,i,i-1);精品资料_return i+1;elsereturn size;/ 如果找不到则查找次数为以保存汉字的个数主
6、函数:int main()int i,size1,size2,num;staticchar a1002,b1002,c2;cin>>a0;/ 每个汉字占两个字符的位置for(i=0;i+)if(ai0=0)break;size1=i;/ 计算该组汉字的长度cin>>b0;for(i=0;i+)if(bi0=0)break;size2=i;for(i=0;i<size2;i+)精品资料_num=search(a,size1,bi);c0=bi0;c1=bi1;if(flag)cout<<" 查找 -"<<c<<
7、"- 成功!查找次数为:"<<num<<endl;elsecout<<" 查找 -"<<c<<"- 失败!查找次数为:"<<num<<endl;system("pause");return 0;算法的时空分析查找的最优情况是比较一次,即(1) ,最差情况比较n 次,即 (n) 。函数的调用关系图int search(char a2,int size,char c2)查主函数void Inverse(char a2,int i,int j)转输入和输出的格式输入请输入一串
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年三季度报天津地区A股负债合计排名前十大上市公司
- 2025版城市基础设施建设委托合同范例大全3篇
- 2025年树林资源综合利用与循环经济承包合同范本3篇
- 2025年食堂食品安全风险评估承包合同3篇
- 2025年山东货运从业资格证500道题目及答案
- 2025版停薪留职合同模板:民营企业员工休整计划书3篇
- 二零二五年度城市绿化工程项目采购安装合同3篇
- 二零二五年度地质勘探临时驾驶员用工合同4篇
- 2025年度物流园区个人运输承包服务协议2篇
- 2025年度模板木方项目合作协议范本大全3篇
- 土地买卖合同参考模板
- 2025高考数学二轮复习-专题一-微专题10-同构函数问题-专项训练【含答案】
- 新能源行业市场分析报告
- 2025年天津市政建设集团招聘笔试参考题库含答案解析
- 自愿断绝父子关系协议书电子版
- 你划我猜游戏【共159张课件】
- 专升本英语阅读理解50篇
- 中餐烹饪技法大全
- 新型电力系统研究
- 滋补类用药的培训
- 北师大版高三数学选修4-6初等数论初步全册课件【完整版】
评论
0/150
提交评论