版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE3《数据结构》实践环节考核指导一、类型课程实验考核二、目的与要求本课程的目的和任务是使学习者掌握各种常用的数据结构和典型算法,为学习后续计算机专业课程提供必要的基础,提高学习者运用数据结构解决实际问题的能力。本考核主要达到两个目的:1.检查学生对数据的逻辑结构、存储结构以及算法的理解程度。2.检查学生对数据结构的选择以及算法设计和实现的应用能力。三、考核环境软件要求:DOS操作系统或Windows环境的MS-DOS模式;TurboC3.0系统。四、考核内容1、线性表的插入和删除要求对有序顺序表进行插入和删除操作,设数据域为整数。要求对有序单链表进行插入和删除操作,单链表的数据域是字符串,但不允许重复的串插入表中。删除操作是根据输入的字符串,先找到相应的结果后删除之。2、栈和队列操作对一些简单应用问题,如进制转换、字符串输入等,利用栈或队列来实现。3、二叉树操作要求采用二叉链表作为存储结构,完成二叉树的建立,先序、中序和后序以及按层次遍历及求所有叶子和结点个数的操作等。4、图的遍历操作可采用邻接矩阵或邻接表作为存储结构,完成有向图和无向图的DFS和BFS操作。5、数据查找实现顺序查找、折半查找及二叉排序查找算法,比较他们的查找速度。6、排序实现直接插入、冒泡、直接选择、快速、堆、归并排序、并鼓励实现基数排序。比较各种排序算法的运行速度。五、考核时间与形式考核时间为60分钟;采用闭卷形式,所有答案都直接做到考核盘上。六、注意事项1、试卷和考核盘都要清楚地书写姓名、准考证号和机号信息;2、必须用蓝、黑色钢笔或圆珠笔书写,字迹要清楚、卷面要整洁。3、考试期间严禁左顾右盼、交头接耳;对机器或试卷中出现的问题由监考老师负责解决。七、题型与要求请参考以下样题。样题一要求:将考试目录下的c源程序test1.c(文件内容见附录一)复制到本地计算机的硬盘上,然后按要求填入相应的语句,调试运行,并按下面要求输入测试数据,在答题纸上写出你所填入的语句以及运行测试的结果。题目:已知在顺序存储结构的线性表L上,以递减顺序输入几个整数:96,64,52,48,43,33,18,12,在test1.c中填入相应语句,使之能顺利完成该递减序列的插入和删除操作。设表L中不应有相同的数据元素。测试数据为:依次插入5、18、57,再依次删除48、20、12。(注:线性表从第0个位置开始存放数据。)答案:(1)(2)(3)(4)测试结果为:样题二要求:将考试目录下的c源程序test2.c(文件内容见附录二)复制到本地计算机的硬盘上,然后按要求填入相应的语句,调试运行,并按下面要求输入测试数据,在答题纸上写出你所填入的语句以及运行测试的结果。题目:由键盘任意键入n个正整数关键字,采用堆排序法进行排序,输出第一趟、第五趟及最后一趟的结果。测试数据为:取n=10,建立时输入25,12,53,6,45,36,7,78,62,17。答案:(1)(2)测试结果为:样题三要求:将考试目录下的c源程序test3.c(文件内容见附录三)复制到本地计算机的硬盘上,然后按要求填入相应的语句,调试运行,并按下面要求输入测试数据,在答题纸上写出你所填入的语句以及运行测试的结果。题目:由键盘任意键入n个正整数,建立其二叉排序树的存储,中序遍历输出结点序列,删除若干数据后再按中序输入。测试数据为:建立时输入25,12,53,45,36,7,78,62,输入0时为结束;依次插入数据45、60。答案:(1)(2)(3)测试结果为:附录一:相关文件内容1.文件test1.c的内容:/*test1.c*/#defineListSize10typedefintDataType;typedefstruct{DataTypedata[ListSize];intlength;}seqlist;#definen8#defineErrorprintfvoiddeletelist(seqlist*L);voidinsertlist(seqlist*L);main(){seqlist*L;inti;charc;printf("请按递减序输入%d个整数(以空格为间隔):\n",n);for(i=0;i<n;i++)scanf("%d",&L->data[i]);L->length=n;printf("请选择:\n");printf("A插入\n");printf("B删除\n");printf("C退出\n");scanf("\n%c",&c);while(c!='c'&&c!='C'){if(c=='A'||c=='a')insertlist(L);elsedeletelist(L);printf("当前顺序表中的数据为:\n");for(i=0;i<L->length;i++)printf("%3d",L->data[i]);printf("\n请再选择:\n");printf("A插入\n");printf("B删除\n");printf("C退出\n");scanf("\n%c",&c);}}voidinsertlist(seqlist*L){intx,i,j;printf("\n请输入要插入的整数:");scanf("\n%d",&x);printf("\n在下面序列中插入%d\n",x);for(i=0;i<L->length;i++)printf("%3d",L->data[i]);i=0;/*********************************************************/while(请考生填写(1))i++;/*********************************************************/if(x==L->data[i])Error("\n重复插入,错误!\n");elseif(L->length>=ListSize)Error("\n表溢出,无法插入!");else{printf("\n将数据%d插入到第%d的位置上\n",x,i);/****************************************************/请考生填写(2)/****************************************************/}}voiddeletelist(seqlist*L){intx,i,j,num;printf("\n请输入要删除的整数:");scanf("\n%d",&x);printf("\n在下面序列中删除%d\n",x);for(i=0;i<L->length;i++)printf("%3d",L->data[i]);i=0;/*******************************************/while(请考生填写(3))i++;/*******************************************/if(x!=L->data[i])Error("\n没有找到要删除的整数!\n");else{printf("\n删除原表中第%d个位置以后的一个数据%d\n",i,x);/*******************************************************/请考生填写(4)/*******************************************************/}}2.文件test2.c的内容:/*test2.c*/#include<stdio.h>#include<stdlib.h>#definen10#defineErrorprintftypedefintKeyType;typedefcharInfoType;typedefstruct{KeyTypekey;InfoTypeotherinfo;}RecType;typedefRecTypeSeqlist[n+1];intm,num;/*全局变量m和num存储输出的第趟结果及递归调用的次数*/SeqlistR;/*记录待排序的10个数*/voidHeapsort();main(){SeqlistS;inti;charch1,ch2;printf("请输入10个待排序数据:(每个数据间用空格隔开)\n");for(i=1;i<=n;i++)scanf("%d",&S[i].key);ch1='y';while(ch1=='y'||ch1=='Y'){printf("请选择下列操作:\n");printf("1更新待排序数据\n");printf("2堆排序\n");printf("3退出\n");scanf("\n%c",&ch2);switch(ch2){case'1':printf("请输入更新待排序数据:\n");for(i=1;i<=n;i++)scanf("%d",&S[i].key);break;case'2':printf("请输入要输出第几趟结果:");scanf("\n%d",&m);for(i=1;i<n+1;i++)R[i].key=S[i].key;Heapsort();break;case'3':ch1='n';break;default:ch1='n';}}}voidHeapify(intlow,inthigh){intlarge;RecTypetemp=R[low];for(large=2*low;large<=high;large*=2){if(large<high&&R[large].key<R[large+1].key)large++;if(temp.key>=R[large].key)break;R[low]=R[large];low=large;}R[low]=temp;}/*Heapify*/voidBuildHeap(){/*将初始文件R[1...n]构造为大根堆*/inti;/****************************************/请考生填写(1)Heapify(i,n);/****************************************/}voidHeapsort(){/*对R[1...n]进行堆排序,用R[0]做暂存单元*/inti,k;BuildHeap();for(i=n;i>1;i--){R[0]=R[1];R[1]=R[i];R[i]=R[0];if(i==(n-m+1)){printf("第%d趟的结果是:",m);for(k=1;k<=n;k++)printf("%5d",R[k].key);printf("\n");printf("请输入还要输出第几趟结果,不想输出时请输入0:");scanf("\n%d",&m);}/**********************************************/请考生填写(2)/**********************************************/}printf("最终排序结果是:");for(k=1;k<=n;k++)printf("%5d",R[k].key);printf("\n");}/*Heapsort*/3.文件test3.c的内容:/*test3.c*/#include<stdio.h>#include<stdlib.h>typedefintKeyType;typedefstructnode{KeyTypekey;structnode*lchild,*rchild;}BSTNode;typedefBSTNode*BSTree;BSTreeCreateBST(void);voidInsertBST(BSTree*Tptr,KeyTypeKey);voidDelBSTNode(BSTree*Tptr,KeyTypeKey);voidInorderBST(BSTreeT);main(){BSTreeT;charch1,ch2;KeyTypeKey;printf("建立一棵二叉排序树的二叉链表存储\n");T=CreateBST();ch1='y';while(ch1=='y'||ch1=='Y'){printf("请选择下列操作:\n");printf("A更新二叉排序树存储\n");printf("B二叉排序树上的删除\n");printf("C二叉排序树中序输出\n");printf("D退出\n");scanf("\n%c",&ch2);switch(ch2){case'A':case'a':T=CreateBST();break;case'B':case'b':printf("\n请输入要删除的数据:");scanf("\n%d",&Key);DelBSTNode(&T,Key);printf("删除操作完毕。\n");break;case'C':case'c':InorderBST(T);printf("\n二叉排序树输出完毕。\n");break;case'D':case'd':ch1='n';break;default:ch1='n';}}}BSTreeCreateBST(void){BSTreeT;KeyTypeKey;T=NULL;printf("请输入一个关键字(输入0时结束输入):\n");scanf("%d",&Key);/******************************************************/while(Key){请考生填写(1)printf("请输入下一个关键字(输入0时结束输入):\n");scanf("\n%d",&Key);}/******************************************************/returnT;}voidInsertBST(BSTree*T,KeyTypeKey){BSTNode*f,*p;p=(*T);while(p){if(p->key==Key){printf("树中已有Key不需插入\n");return;}f=p;p=(Key<p->key)?p->lchild:p->rchild;}p=(BSTNode*)malloc(sizeof(BSTNode));p->key=Key;p->lchild=p->rchild=NULL;if((*T)==NULL)(*T)=p;elseif(Key<f->key)f->lchild=p;elsef->rchild=p;}/*InsertBST*/voidDelBSTNode(BSTree*T,KeyTypeKey){BSTNode*parent=NULL,*p,*q,*child;p=*T;/******************************************************/while(p){if(p->key==Key)break;parent=p;请考生填写(2)}/******************************************************/if(!p){printf("没有找到要删除的结点\n");return;}q=p;if(q->lchild&&q->rchild)for(parent=q,p=q->rchild;p->lchild;parent=p,p=p->lchild);child=(p->lchild)?p->lchild:p->rchild;/************************************************/if(!parent)*T=child;else{请考生填写(3)if(p!=q)q->key=p->key;}/************************************************/free(p);}voidInorderBST(BSTreeT){if(T!=NULL){InorderBST(T->lchild);printf("%5d",T->key);InorderBST(T->rchild);}}附录二:样题参考答案样题一答案:(1)i<L->length&&x<L->data[i](2)for(j=L->length-1;j>=i;j--)L->data[j+1]=L->data[j];L->data[i]=x;L->length++;(3)i<L->length&&x<L->data[i](4)for(j=i+1;j<=L->length-1;j++);L->data[j-1]=L->data[j];L->length--;测试结果为:插入5后:将数据5插入到第8的位置上。645248433318125插入18后:重复插入,错误!插入57后:将数据57插入到第2的位置上。64575248433318125删除48后:删除原表中第4个位置以后的一个数据48。96645752433318125删除20后:没有找到要删除的整数。645752433318125删除12后:删除原表中第7个位置以后的一个数据12。6457524333185样题二答案:(1)for(i=n/2;i>0;i--)Heapify(i,n);(2)Heapify(1,i-1);测试结果为:第一趟的结果为:176253254536761278第五趟的结果为:725126173645536278最后一趟的结果为:671217253645536278样题三答案:(1)InsertBST(&T,Key);(2)p=(Key<p->key)?p->lchild:p->rchild;(3)if(p==parent->lchild)parent->lchild=child;elseparent->rchild=child;测试结果为:删除45前的中序遍历序列为:6,7,12,17,25,36,45,53,62,78删除45后的中序遍历序列为:6,7,12,17,25,36,53,62,78删除60:没有找到要删除的结点。
宝贝计划专卖店创业计划书企业名称:__宝贝计划婴儿用品专卖店创业者姓名:_________________________________________日期:__________________________________________通信地址:_________________________________________邮政编码:__________________________________________电话:____________________________________________传真:__________________________________________电子邮件:__________________________________________目录一、项目介绍------------------------------------3二、市场分析------------------------------------3三、成本预算------------------------------------3四、盈利状况------------------------------------4五、市场风险预测----------------------------------4六、人员机构配置----------------------------------5七、市场营销策略----------------------------------5宝贝计划婴儿用品专卖店计划书项目介绍:项目名称:宝贝计划婴儿用品专卖店经营范围:以出租和出售婴幼儿童车、童床、儿童玩具、婴儿日常用品和孕前孕后的孕妇培训为主,兼做婴儿游泳馆和家政服务信息等。项目投资:10—14万元回收成本期限:15个月(预计)样板店地址:桂林市兴安县(具体地址待定)项目概况:先组建宝贝计划婴儿用品总店,在此基础上,创办一个以片为依托的婴儿用品连锁店。企业宗旨:一切为了宝贝计划。二、市场分析:(一)市场需求分析:1、玩具是孩子的天使,孩子是父母的心肝宝贝。父母对自己孩子的投入是心甘情愿的,但由于各种原因,又不能完全满足孩子对玩具的占有欲望。同时,由于孩子的天性,对玩具喜新厌旧,一个几百元的玩具玩几天就不感兴趣了。而市场上层出不穷的高价玩具,都是孩子永不满足的需求,这样促使了儿童玩具出租行业的萌芽和发展。比如婴幼儿大都需要童车,低档童车价格大约在60—100元,中档童车价格大约在150~300元之间,高档一点的在500元以上,而一部质量较好的童车起码可以用三五年,家庭购买的童车平均使用期为一年左右,不买童车不行,买吧,用完后又很难处理,而且又浪费,所以本店的特色是——既可以出租而可以出售的方法。相似的用品不仅仅局限于童车童床,还有学步车等等。如果开一间婴幼儿童童车童床出租出售店,可以给消费一般的家庭带来实惠,生意肯定兴隆。2、孕前孕后培训也是一个新兴的行业,据市场调查,在此之前没有任何商家以店的形式对准爸爸和准妈妈进行。因为现在的准妈妈准爸爸无法科学的照顾自己的孩子和孕妇,通过培训后,使其能够正确的操作。(二)目标群体分析:儿童车、童床、婴儿日常用品0~2岁的婴儿。由于出售的儿童车、童床、婴儿日常用品品种繁多,档次繁多,适合于各种不同层次的家庭孩子。选择在县级以上城市开店,可以说明该城市的人均家庭状况一般在小康水平或小康水平以上,对出租玩具的承受能力均没有任何问题。孕妇的孕前孕后培训主要是针对现在准妈妈准爸爸开设的课程,主要是产前的身体锻炼,饮食合理搭配及科学的锻炼;产后的小孩护理及营养搭配,常见的小孩注意事项等方面知识,让准妈妈准爸爸们科学的呵护自己的小孩。(三)竞争对手的分析:目前兴安县出售出租婴幼儿童车、童床、儿童玩具、婴儿日常用品为一体的公司或店铺寥寥无几,现在的店一本是单一性的,不是集中为一体的,而且这样做也是一个新兴的行业,我们应该有一种先人为主的优势,特别由总店然后发展成一片区为分店的一家连锁店。三、成本预算(一)样板店的成本预算15000元样板店启动资金大约在7万元左右,具体安排:(1)办理工商、税务登记等费用:200元(2)店铺租金及押金:9000元(3)装修:20000元(4)工资(1个月):8000元(5)购买产品及维修保养费用:50000元(6)咨询顾问及资料费:5000元(7)公司其他开支:10000元(水费、电费、管理费、卫生费及流动资金得等)总计:12000元左右(估计)注:总预算里面还包括员工的首期上岗培训费用。四、盈利状况(一)、连锁总店业务收入来源:A、出售婴幼儿童车、童床、儿童玩具、婴儿日常用品。现在很大部分的家庭里面只有一个小孩,不管是男孩还是女孩,都是家长们的掌上明珠,家长们都舍得为自己的子女花钱,针对这一现象,本店采取了出售其婴幼儿童车、童床、儿童玩具、婴儿日常用品,来满足每一个小孩家庭的需求,相对这样出租婴幼儿童车、童床、儿童玩具来说,这样显得奢侈,但是很多家长为了孩子,还是舍得花钱。B、出租婴幼儿童车、童床。现在很多家庭出生的小孩只有一个,如果购买一个童车或者童床势必会造成浪费,本店将为准妈妈们准备了童车童床的出租,这样相对来说,就要节省一点开支,这也是资源的合理利用。C、孕前孕后的孕妇培训。现在的准妈妈准爸爸对孕前的营养饮食搭配、孕前的护理和孕后的营养饮食搭配、小孩的照顾等各方面的培训,培训费是按每节课多少钱来计算,顾客如果使用会员卡,可享受月底结算和打折优惠的特权。D、婴儿游泳馆。婴儿游泳是国内兴起的一个行业,在国外非常常见。因为婴儿在游泳时,可以对其全身的肌肉关节韧带均得到运动,心理放松,神情喜悦,运动所带来的外周刺激反馈至大脑皮层,对脑神经的发育有着良好的作用。E、家政服务信息。本店与当地的家政信息公司进行合作,为各位需要家政服务的家庭提供家政信息服务,盈利在于与家政公司合作的提成。(二)、连锁店业务收入的次要来源:A、本里本店的会员卡是本店次要收入来源,会员卡有效期为1年,然后经过续费后,方可继续使用,会员卡办理卡费是20元,续费费是10元,本卡将采取实行实名制,实行一卡专用。B、赔偿金收入(因顾客归还玩具时,有些玩具可能会由于关键部位的断裂,重要配件的丢失损坏等原因,按照我们的赔偿比例表,按比例赔偿)。五、市场风险预测:(一)竞争者的出现,是本店主要的市场风险当一个项目被发现巨大市场空间时,必会引来竞争者,为了能让企业在市场中生存和壮大,因此在推出玩具出租加盟样板店时,要实行五个统一的管理模式(即统一形象设计,统一宣传资料,统一会员卡销售,统一营销管理,统一售后服务)建立自身的品牌。提高服务质量和准确掌握市场行情也是增强竞争力等办法。(二)玩具、童车、童床是对儿童的伤害最大,是本行业的最大风险所在。为了避免此类风险,可采取以下三种方法:(1)进货渠道严格把关,明确与进货商或厂家的责任关系。(2)向小孩和家长详细说明玩具的使用说明;(3)明确与被租方的责任关系。(三)对玩具损害程度的鉴定,是处理客户关系的一大风险必须从日常的经验和生产厂家,逐步完善玩具损害程度的鉴定标准,明细化与客户的责任关系。(四)、产品售后服务:产品售后服务是关键。本店将对购买和出租童车、童床的用户建立客户信息档案中心(信息档案中心将属于自愿原则,顾客有权不建立)。将定期派遣技术人员为顾客购买的产品进行定期检查或者接到客户的产品故障报告后派遣技术人员进行上门服务维修,保证其产品质量(质量保修解释:凡在本店购买或
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国浙教版信息技术高中选修1新授课 第一节 基本数据类型、常量和变量 说课稿
- 大学生大骨干培训结业展示
- 培训人事行政
- 2024版商业推广服务项目协议书版B版
- 高中信息技术粤教版必修说课稿 -2.2.1 网络信息检索的方法
- 解决问题的策略(1)说课稿-2024-2025学年数学苏教版六年级上册
- 《汽车门锁》课件
- 地铁BOM机操作流程
- 冠心病的预防与救治科普
- 沪科版 信息技术 必修 4.2.2计算机管理方式说课稿
- 2024年度陶瓷产品代理销售与品牌战略合作协议3篇
- 中国农业银行信用借款合同
- 2024年7月国家开放大学法学本科《知识产权法》期末考试试题及答案
- 2024年河南省公务员录用考试《行测》试题及答案解析
- (2024年)剪映入门教程课件
- 四年级上册道法知识点汇总
- JGJ_T491-2021装配式内装修技术标准(高清-最新版)
- 最新中石油带压作业技术规程
- 南京华兴数控产品说明书
- 第八章 地籍图测绘
- 离散系统频域分析及matlab实现.doc
评论
0/150
提交评论