c语言程序设计大赛资料

上传人:小** 文档编号:47491821 上传时间:2018-07-02 格式:PDF 页数:92 大小:245.83KB
返回 下载 相关 举报
c语言程序设计大赛资料_第1页
第1页 / 共92页
c语言程序设计大赛资料_第2页
第2页 / 共92页
c语言程序设计大赛资料_第3页
第3页 / 共92页
c语言程序设计大赛资料_第4页
第4页 / 共92页
c语言程序设计大赛资料_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《c语言程序设计大赛资料》由会员分享,可在线阅读,更多相关《c语言程序设计大赛资料(92页珍藏版)》请在金锄头文库上搜索。

1、 本文由小子大不才贡献d o c 文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。C 语言程序设计大赛资料 一:知识点 数据结构: 1,单,双链表及循环链表 2,树的表示与存储,二叉树(概念,遍历)二叉树的应用(二叉排序树,判定树,博 弈树,解 答树等) 3,文件操作(从文本文件中读入数据并输出到文本文件中) 4, 图(基本概念,存储结构,图的运算) 数学知识 1,离散数学知识的应用(如排列组 合、简单的图论,数理逻辑) 2,数论知识 3,线性代数 4,组合代数 5,计算几何二 算法 1,排序算法(冒抛法,插入排序,合并排序,快速排序,堆排序) 2,查 找(顺序

2、查找,二分发) 3,回溯算法 4,递归算法 5,分治算法 6,模拟法 7,贪 心法 8,简单搜索算法(深度优先,广度优先),搜索中的剪枝,A*算法 9,动态规 划的思想及基本算法 10,高精度运算 三、ACM 竞赛的题型分析 竞赛的程序设计一般 只有 16 种类型,它们分别是: Dy n a m i c Pr o g r a m m i n g (动态规划) Gr e e d y (贪心 算法) Co m p l e t e Se a r c h (穷举搜索) Fl o o d Fi l l (不知该如何翻译) Sh o r t e s tPa t h (最短路径) Re c u r s i

3、v e Se a r c h Te c h n i q u e s (回溯搜索技术) Mi n i m u m Sp a n n i n g Tr e e (最小生成树) Kn a p s a c k (背包问题) Co m p u t a t i o n a l Ge o m e t r y (计 算几何学) Ne t w o r k Fl o w (网络流) Eu l e r i a n Pa t h (欧拉回路) Tw o -Di m e n s i o n a l Co n v e x Hu l l (不知如何翻译) Bi g Nu m s (大数问题) He u r i s t i

4、c Se a r c h (启 发式搜索) Ap p r o x i m a t e Se a r c h (近似搜索) Ad Ho c Pr o b l e m s (杂题) 四 ACM竞赛参考书 实用算法的分析与程序设计(吴文虎,王建德著,电子工业出版社, 竞赛类的黑宝书) 青少年国际和全国信息学(计算机)奥林匹克竞赛指导)组 合数学的算法 和程序设计(吴文虎,王建德著,清华大学出版社,参加竞赛组合数 学必学) 计算机算法设计与分析 (王晓东编著,最好的数据结构教材) 数据 结构与算法 (傅清祥,王晓东编著,我所见过的最好的算法教材) 信息学奥林 匹克竞赛指导1997-1998 竞赛试题解

5、析(吴文虎,王建德著,清华大学出版社)计算机程序设计技巧D.E.Kr u t h 著,算法书中最著名的葵花宝典,大师的作 品,难度大) 计算几何周陪德著 ACM 国际大学生程序设计竞赛试题与解析( 一) (吴文虎著,清华大学出版社) 数学建模竞赛培训教材 共三本 叶其孝 主编1数学模型 随机规划 模糊数学 数学建模入门 计算机算法设 计与分析第二版 姜启源徐全智 国防科大五 如何备战 ACM/ICPC 1,个人准备(算法书,习题集,网上做题和讨论) 2, 1000 题=亚洲冠军=世界决赛 3,做好资料收集和整理工作 实验一:递归与分治 实验 目的 理解递归算法的思想和递归程序的执行过程,并能熟

6、练编写递归程序。 掌握分 治算法的思想,对给定的问题能设计出分治算法予以解决。 实验预习内容 编程实现 讲过的例题:二分搜索、合并排序、快速排序。 对本实验中的问题,设计出算法并编 程实现。 试验内容和步骤 1 二分查找 在对线性表的操作中,经常需要查找某一个 元素在线性表中的位置。此问题的输入是待查元素 x 和线 性表 L,输出为 x 在 L 中的位置或者 x 不在 L 中的信息。程序略 2 合并排序程序略 3 快速排序程序 略 实验总结及思考 合并排序的递归程序执行的过程 实验二:回溯算法 实验目的: 熟练掌握回溯算法 实验内容:回溯算法的几种形式 a ) 用回溯算法搜索子集树的一般 模式

7、 v o i d s e a r c h (i n t m ) i f (m n ) /递归结束条件 o u t p u t (); /相应的处理(输 出结果) e l s e a m =0; /设置状态:0 表示不要该物品 s e a r c h (m +1); /递归搜索 :继续确定下一个物品 a m =1; /设置状态:1 表示要该物品 s e a r c h (m +1); /递归 搜索:继续确定下一个物品 b ) 用回溯算法搜索子集树的一般模式 v o i d s e a r c h (i n t m ) i f (m n ) /递归结束条件 o u t p u t (); /相应的

8、处理(输出结果) e l s e f o r (i =m ;i =n ) c h e c k m a x (); /检查当前解是否是可行解,若是则把它的价值与 m a x 比较 e l s e a m =0; /不选第 m 件物品 s e a r c h (m +1); /递归搜索下一件物品 a m =1; /不选第 m 件物 品 s e a r c h (m +1); /递归搜索下一件物品 v o i d c h e c k m a x () i n t i , w e i g h t =0 , v a l u e =0; f o r (i =0;i m a x ) /且价值大于 m a x

9、 m a x =v a l u e ; /替换 m a x v o i d r e a d d a t a () i n t i ;3f o r (i =0;i =n *n ) c h e c k m a x (); /检查当前解是否 是可行解,若是则把它的价值与 m a x 比较 e l s e s e a r c h (m +1); /该位置不放堡垒 递归搜索下一个位置 i f (c a n p l a c e (m ) /判断第 m 个格子是否能放堡垒 p l a c e (m ); /在第 m 个格子上放置一个堡垒 s e a r c h (m +1); /递归搜索下一个位置 t a

10、k e o u t (m ); /去掉第 m 个格子上放置的堡垒 4翻硬币问题 把硬币摆放成 329 的矩阵,你可以随意翻转矩阵中的某些行和某些列,问正面朝上的硬币最多有多 少枚 ? 提示:(1)任意一行或一列,翻两次等于没有翻; (2)对于 9 列的任何一种翻 转的情况,每一行翻与不翻相互独立。 58 皇后问题 在一个的棋盘里放置 个皇后,要求这 8 个皇后两两之间互相都不“冲突”。 #i n c l u d e #i n c l u d e v o i d s e a r c h (i n t ); v o i d p r i n t r e s u l t (); /打印结果 i n t

11、 c a n p l a c e (i n t ,i n t ) ; /判断该位置能否放置皇后 v o i d p l a c e (i n t ,i n t ); /在该位置能否放置皇后4v o i d t a k e o u t (i n t ,i n t ); /把该位置放置皇后去掉 i n t a 8; /a i 存放第 i 个皇后的位置 i n t m a i n () s e a r c h (0); /递归搜索 v o i d s e a r c h (i n t m ) i n t i ; i f (m =8) /当已经找出一组解时 p r i n t r e s u l t

12、(); /输出当前结果 e l s e f o r (i =0;i v o i d s e a r c h (i n t ); v o i d i n i t (); /初始化 v o i d p r i n t r e s u l t ( ); /打印结果 i n t i s p r i m e (i n t ); /判断该数是否是素数 v o i d s w a p (i n t ,i n t ); / /交换 a m 和 a i i n t a 21; /a 数组存放素数环 i n t m a i n () i n i t (); s e a r c h (2); /递归搜索 i n t

13、 i s p r i m e (i n t n u m ) i n t i ,k ; k =s q r t (n u m ); f o r (i =2;i 20) /当已经搜索到叶结点时 i f (i s p r i m e (a 1+a 20) /如果 a 1+a 20也是素数 p r i n t r e s u l t (); /输出当前解 r e t u r n ; e l s e f o r (i =m ;i v o i d s e a r c h (i n t ,i n t ); i n t c a n p l a c e (i n t ,i n t ); v o i d r e a

14、 d d a t a (); /读入数据 v o i d p r i n t r e s u l t (); /打印结果 i n t a 2020; / a 数组存放迷宫 i n t s ,t ; i n t m a i n () i n t r o w , c o l ; r e a d d a t a (); r o w =s /20; c o l =s %20; s e a r c h (r o w ,c o l ); /递归搜索 p r i n t r e s u l t (); v o i d s e a r c h (i n t r o w ,i n t c o l ) i n t

15、 r ,c ; a r o w c o l =1; r =r o w ; /左 c =c o l -1; i f (c a n p l a c e (r ,c )/判断(r ,c )位置是否已经走过 s e a r c h (r ,c ); /递归搜索(r ,c ) r =r o w +1; /下 c = c o l ; i f (c a n p l a c e (r ,c ) /判断(r ,c )位置是否已经走过 s e a r c h (r ,c ); /递归搜索 (r ,c ) r =r o w ; /右 c =c o l +1; i f (c a n p l a c e (r ,c ) /判断(r ,c )位置是否已经走过 s e a r c h (r ,c ); /递归搜索(r ,c ) r =r o w -1; /上 c =c o l ; i f (c a n p l a c e (r ,c ) /判断( r ,c )位置是否已经走过 s e a r c h (r ,c ); /递归搜索(r ,c )

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号