电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

本书是一本算法竞赛的入门教材,把C/C++语言、算法和解题有机地结合在了一起,淡化理论,注重学习方法和实践技巧。全书内容分为11章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、基础题目选解、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法,覆盖了算法竞赛入门所需的主要知识点,并附有大量习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧。另外,书中包含的各种开发、测试和调试技巧也是在传统的语言、算法类书籍中难以见到的。 本书可作为全国青少年信息学奥林匹克联赛(NOIP)的复赛教材及ACM国际大学生程序设计竞赛(ACM/ICPC)的入门参考,还可作为IT工程师与科研人员的参考用书。

前 言 “听说你最近在写一本关于算法竞赛入门的书?”朋友问我。 “是的。”我微笑道。 “这是怎样的一本书呢?”朋友很好奇。 “C语言、算法和题解。”我回答。 “什么?几样东西混着吗?”朋友很吃惊。 “对。”我笑了,“这是我思考许久后做出的决定。” 大学之前的我 12年前,当我翻开Sam A.Abolrous所著《C语言三日通》的第一页时,我不会想到自己会有机会编写一本讲解C语言的书籍。当时,我真的只花了3天就学完了这本书,并且自信满满:“我学会C语言啦!我要用它写出各种有趣、有用的程序!”但渐渐地,我认识到了:虽然浅显易懂,但书中的内容只是语言入门,离实际应用还有较大差距,就好比小学生学会造句以后还要下很大功夫才能写出像样的作文。 第二本对我影响很大的书是Sun公司的Peter van der Linden(PvdL)所著的《C程序设计奥秘》。作者称该书应该是每一个程序员“在C语言方面的第二本书”,因为“书中绝大部分内容、技巧和技术在其他任何书中都找不到”。原先我只是把自己当成是程序员,但在阅读的过程中,我开始渐渐了解到硬件设计者、编译程序开发者、操作系统编写者和标准制定者是怎么想的。继续的阅读增强了我的领悟:要学好C语言,绝非熟悉语法和语义这么简单。 后来,我自学了数据结构,懂得了编程处理数据的基本原则和方法,然后又学习了8086汇编语言,甚至曾没日没夜地用SoftICE调试《仙剑奇侠传》,并把学到的技巧运用到自己开发的游戏引擎中。再后来,我通过《电脑爱好者》杂志上的一则不起眼的广告了解到了全国信息学奥林匹克联赛(当时称为分区联赛,NOIP是后来的称...

课件下载

样章下载

暂无网络资源

扫描二维码
下载APP了解更多

目录
荐语
查看详情 查看详情
目    录

第1部分  语  言  篇

第1章  程序设计入门 1

1.1  算术表达式 1

1.2  变量及其输入 3

1.3  顺序结构程序设计 6

1.4  分支结构程序设计 9

1.5  小结与习题 13

1.5.1  数据类型实验 13

1.5.2  scanf输入格式实验 13

1.5.3  printf语句输出实验 13

1.5.4  测测你的实践能力 14

1.5.5  小结 14

1.5.6  上机练习 15

第2章  循环结构程序设计 16

2.1  for循环 16

2.2  循环结构程序设计 19

2.3  文件操作 23

2.4  小结与习题 27

2.4.1  输出技巧 28

2.4.2  浮点数陷阱 28

2.4.3  64位整数 28

2.4.4  C++中的输入输出 29

2.4.5  小结 30

2.4.6  上机练习 31

第3章  数组和字符串 33

3.1  数组 33

3.2  字符数组 37

3.3  最长回文子串 41

3.4  小结与习题 45

3.4.1  必要的存储量 45

3.4.2  用ASCII编码表示字符 45

3.4.3  补码表示法 46

3.4.4  重新实现库函数 47

3.4.5  字符串处理的常见问题 47

3.4.6  关于输入输出 47

3.4.7  I/O的效率 47

3.4.8  小结 49

3.4.9  上机练习 50

第4章  函数和递归 51

4.1  数学函数 51

4.1.1  简单函数的编写 51

4...