信息学奥林匹克竞赛高中组c语言考点

我学过c语言,还是新手,目前学到结构体了,想参加高中的奥林匹克竞赛,不知道考到哪,已学了:自定义函数数组指针结构体,考试还需要别的语法吗?请顺便列举一下需要的算法。感激不... 我学过c语言,还是新手,目前学到结构体了,想参加高中的奥林匹克竞赛,不知道考到哪,已学了:自定义函数 数组 指针 结构体,考试还需要别的语法吗?请顺便列举一下需要的算法。感激不尽。 展开
 我来答
ykr_upward
2012-06-22
知道答主
回答量:6
采纳率:0%
帮助的人:11.5万
展开全部
啊哈,我也要参加的。
想问一下你在哪个年级?初中的话不急,高中的话可要加把劲。
废话少说,现在谈一下:
语法的话,我觉得你的这些再加个递归已经够了,用得也还熟就好。联赛最重要的还是算法。

算法的话,最基础的可以算是排序。选择排序,冒泡排序,快速排序,归并排序,基数排序都可以看一看。重点是快速排序(用得最多)。当然如果你用C++的话只要用系统快排sort()就可以了。
还有就是搜索,深度优先搜索DFS和广度优先搜索BFS都必须能够灵活运用。
字符串的运算,看一下KMP大概差不多了。联赛好像不怎么考字符串。
高精度要做一下,练练思维的严谨性,有些题目会用到。

更加高级一些的算法是结合数据结构学的。
栈结构,队列还好,比较容易理解。链表的话,不难,但是有点麻烦,用得少。
树很重要,肯定要学。和二叉树有关的堆必须看,以后挺有用,堆排序也是一个高效的排序方法。
有的递归回溯也可以归结到树这一类。
图结构是树结构的延伸,很重要。关于最小生成树和最短路问题一定要学,这是重点之一,用得巨多。还有一些拓扑排序、并查集之类的算法也要看。
反正图结构和树结构是重点中的重点,所以我们也要重点研究。

再往上就是和编程思想有关了。
分治思想,大重点。
贪心思想,怎么说呢...比较微妙,算是重点吧。
动态规划,重点中的重点。这是神一般的思想,联赛考生都应该膜拜。它是应用最多、考的也最多的思想,各种形式,各种题型,各种层次的考试都少不了它。动态规划前提是无后效性,最重要的是递推方程,要用到递推思想。
组合要看,重点中的重点,不过数学好的话完全不用担心。数论也要看,虽然更高级一些。
网络流联赛不考。当然省赛之类的要考。

大概这些了。总结一下,算法有:
排序(系列),搜索(系列),字符串,高精度,栈结构,队列,链表,树(系列),堆,递归回溯,图(系列),分治(思想),贪心(思想),动态规划(思想),递推(思想),组合(思想),数论(思想),网络流(联赛不考)。
大重点:搜索(系列),堆,递归回溯,分治(思想),递推(思想),数论(思想)
重点中的重点:树(系列),图(系列),动态规划(思想),组合(思想)

大概就这些。可能还有所遗漏,望大家指正。
我记得我以前还有个知识点的文件的,可惜找不到了。
低调侃大山
2015-11-09 · 家事,国事,天下事,关注所有事。
低调侃大山
采纳数:67731 获赞数:374600

向TA提问 私信TA
展开全部
  每次联赛的试题分四组:初中组初试赛题;初中组复试赛题;高中组初试赛题;高中组复试赛题。其中,初中组初试赛题和高中组初试赛题类型相同,初中组复试赛题和高中组复试赛题类型相同,但初中组和高中组的题目不完全相同,高中组难度略高,以体现年龄特点和层次要求。
  l 初试:初试全部为笔试,满分100分。试题由四部分组成:
  1、选择题:共20题,每题1.5分,共30分。每题有5个备选方案,前10个题为单选题(即每题有且只有一个正确答案),后10题为复选题(即每题有1至5个正确答案,只有全部选对才得分)。
  2、问题求解题:共2题,每题5分,共10分。试题给出一个叙述较为简单的问题,要求学生对问题进行分析,找到一个合适的算法,并推算出问题的解。答案以字符串方式给出,考生给出的答案与标准答案的字符串相同,则得分;否则不得分。
  3、程序阅读理解题:共4题,每题8分,共32分。题目给出一段程序(不一定有关于程序功能的说明),有时也会给出程序的输入,要求考生通过阅读理解该段程序给出程序的输出。输出以字符串的形式给出,如果与标准答案一致,则得分;否则不得分。
  4、程序完善题:共2题,每题14分,共28分。题目给出一段关于程序功能的文字说明,然后给出一段程序代码,在代码中略去了若干个语句并在这些位置给出空格,要求考生根据程序的功能说明和代码的上下文,填出被略去的语句。填对的,则得分;否则不得分。

  2 复试:复试的题型和形式向全国信息学奥赛(NOI)靠拢,全部为上机编程题,但难度略低。复试为决出联赛成绩的最后一个环节。
  题目包括4道题,每题100分,共计400分。难度有易有难,既考虑普及面,又考虑选拔的梯度要求。每一道试题包括:题目、问题描述、样例说明(输入、输出及必要的说明)。测试时,测试程序为每道题提供了5-10组测试数据,考生程序每答对一组得10分,累计分即为该道题的得分。 五、试题的知识范围 一.初赛内容与要求:(#表示普及组可不涉及,以下同) 计基算本机常识 *计算机的发展历史
  *当今计算机发展的热门话题(蓝牙技术、仿生机器人等) *计算机系统的组成的基本知识
  *计算机中数的表示(二进制 #浮点数) *计算机信息安全知识 *数据库的基本概念
  计基算本机操的作
  *Windows的基本操作知识 *互联网的基本使用常识
  *计算机常见输入/输出设备程序设计基本知识程序的表示 *PASCAL或BASIC或C/C++语言 *程序流程 数据结构
  *程序语言中基本数据类型 *一维数组(串)与线性表 *记录类型
  程序设计
  *结构化程序设计的基本概念 *阅读理解程序的基本能力
  *具有将简单问题抽象成计算机适合解决的模型的基本能力 *具有针对模型设计简单算法的基本能力
  基本算法处理
  *初等算法(统计 计数 数学运算等)
  *排序算法(冒泡法 插入排序 合并排序 #快速排序) *查找(顺序查找 #二分法) *回溯算法
  二、复赛内容与要求:
  在初赛的内容上增加以下内容: 数据结构 *指针类型
  *文件(从文本文件中读入数据) *单链表及循环链表 *二叉树 #图论初步
  程序设计
  *算法代码实现能力 *程序调试基本能力
  *设计测试数据的基本能力
  #了解面向对象程序设计的基本概念
  #程序的时间复杂度和空间复杂度的估计算法处理 *离散数学知识的应用(如排列组合,简单图论) *分治思想 *模拟法
  *简单搜索算法(深度优先 广度优先)#搜索中的剪枝 #动态规划的思想及基本算法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
等着变猪
2012-06-21 · 超过19用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:46.9万
展开全部
一般结构体会搭配链表的出现。你可以再学习一下链表。最主要的还是把你学的融会贯通,例如指向结构体的指针,指向指针的指针,和函数的调用这些都要熟练运用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式