下午编程题复习和应对策略.pdfVIP

  • 1
  • 0
  • 约1.08万字
  • 约 9页
  • 2019-03-13 发布于江苏
  • 举报
赛·远程教育平台 『疑难解答』 下午编程题复习和应对策略 ® 学赛软考学院 唐强 下午题中很重要的一块就是常用算法编程设计题,很多同学很惧怕这种题,一看就紧张,一紧张就大 脑空白,大脑一空白,试卷就空白或者乱填一气。经常在考完之后,有同学讲:“上午题还可以,下午题 砸了”,其所谓的“下午题砸了”往往就砸在常用算法设计这一块上。造成这种状况的原因有四: 1. 数据结构不过关。 大部分常用算法都用 了很多数据结构方面的知识,比如栈的操作、排序二叉树。下午题需要很 多数据结构基础来支撑,如链表、栈、队列、二叉树、图的各种操作,又如快速排序、直接插入排序、 希尔排序、冒泡排序。数据结构是算法设计的强力支撑之一,如果数据结构基础不扎实,谈合算法设 计?那我们如何夯实这个基础?我有如下建议: l关注置顶的随机电子资源里的关于数据结构的资源,特别是一个整套的数据结构课件: /course_ware/data_structure/web/chazhao/chazhao.htm ,里 面涵盖了大部分数据结构知识点,部分知识点还配有相应的动画和 C 语言源程序,是 习数据结 构基础的好网站。 l利用学赛首页的搜索引 ,输入关键字 “数据结构”,能找 一大堆数据结构方面的资料,其中还 有一些视频下载(我试过,一些视频要白天才开放)。 2.C 语言基础不过关。 基本的C 语言语法不了解。比如,i++和++i 的区别,单独就这两条语句来看的话,很难说明两者 之间的差别,要将其放 具体语境来比较。如果i 的初值为0。那么: a[i++]=3;相当于两条语句:a[i]=3; i = i+1;顺序执行,执行的结果是a[0]的值为3,i 的 值为1。 而a[++i]=3 相当于两条语句:i = i+1;a[i]=3;顺序执行,执行的结果是a[1]的值为3,i 的 值为1。 一对比,就很明显了,i++表示先使用 i,然后让 i 自加1。而++i 却表示先让 i 自加1,然后才 使用i。 这个问题解决了,又来了另一个问题:可是很多同 记不准,常常搞反。我告诉大家一个技巧: 对于 i++,变量 i 在++之前,就表示先使用 i,然后才自加 1;对于++i,++在变量 i 之前,那么是先 自加1,然后使用变量i。那个在前就先使用那个。技巧常常体现在细微之处!! 3.很少编程或调试代码。 没有编过一行代码没有调试过一个程序,却要成为一个真正的有实力的合格的软件设计师或者程 序员,那是不可能的!!国外大师级的人物六七十岁了都在写代码,何况我们这等无 小卒?编写、调 试代码是任何一个合格的程序员、软件设计师、系统分析师的必经之路! 在调试过程中,也有一定的技巧。以程序员2002 年下午试题5 中为例,用非递归方法后序遍历 二叉树的过程中,元素 底是如何出栈入栈的?以下面的二叉树为例: 学赛 软考学院() (第 1 页 ,共 9 页) 电话:+86 0731 4433018 ,4430578,4445278 ,4445728 邮件:tr @ PDF 文件使用 pdfFactory Pro 试用版本创建 赛·远程教育平台 『疑难解答』 能运行的代码如下: #include stdio.h typedef struct node { int data; struct n

文档评论(0)

1亿VIP精品文档

相关文档