- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
C语言大题总结
1、冯.诺伊曼模型的基本组成部分。
输入设备、输出设备、存储器(内存储器、外存储器)、运算器、控制器
2、请写出结构化程序的含义和基本思想。
以模块设计为中心,将待开发的软件系统划分为若干相互独立的模块,完成每一个模块的功
能独立而明确,为设计大的软件打下了基础。结构化程序设计的基本思想是自顶向下,逐步
求精。
3、一个算法应该具有以下五个重要的特征:
1.有穷性:算法的有穷性是指算法必须能在执行有限个步骤之后终止
2.确切性:算法的每一步骤必须有确切的定义;
3.输入项:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算
法本身定出了初始条件;
4.输出项:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法
是毫无意义的;
5.可行性:算法中执行的任何计算步都是可以被分解为基本的可执行的操作步,即每个计算
步都可以在有限时间内完成。(也称之为有效性)
4、请列举三种以上的排序算法,并从稳定性、算法复杂度进行比较。
1.稳定度:就是说排序过程中,出现错误排序(从小到大排列时,某次交换是8排到了7前
面,就作为一次错误排序)的次数越少,稳定性越好。
2.计算的复杂度:可用时间复杂度来衡量,对于一个n元素的数组,最好的排序复杂度自然
2
是O(n)但是做不到,退而求其次,O(nlogn)也不错,最差的是O(n).
稳定算法不稳定算法
名称复杂度名称复杂度
22
插入排序O(n)选择排序O(n)
2
冒泡排序O(n)堆排序O(nlogn)
1/5
2
快速排序O(nlogn)-O(n)
5、什么是算法?什么是算法复杂度?
算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程。算法的
复杂度指的是算法在运行过程中所需要的资源(时间、空间)多少。所需资源越多,表明
算法的复杂度越高。
6、算法分析的目的是什么?
是为了建立衡量算法优劣的标准,用以比较同一类问题的不同算法。为了对算法的某些
特定输入,估算该算法所需的内存空间和运行时间;
7、算法设计的常用技术是什么?
①分治法;②回溯法;③贪心法;④动态规划法⑤分治限界法;⑥穷举法;⑦递推法;⑧
递推法
8、什么是递归算法?递归算法的特点?
递归算法:是一个模块(函数、过程)除了可调用其它模块(函数、过程)外,还可以
直接或间接地调用自身的算法。
递归算法特点:
①要有终止条件,不然会无限循环
②要找到一个可以循环调用的递归表达式
9、分治法的基本思想是什么?
将一个规模为N的问题分解为K个规模较小的子问题,这些子问题互相独立且与原问
题相同。递归地解这些子问题,然后将各子问题的解合并得到原问题的解。
2/5
10、递归算法的优点是什么?
结构清晰,可读性强,容易用数学归纳法来证明算法的正确性,因此它为设计算法、调
试程序带来很大方便。
11、递归算法的缺点是什么?
运行效率较低,耗费的计算时间和占用的存储空间都多。为了达到此目的,根据具体程
序的特点对递归调用工作栈进行简化,尽量减少栈操作,压缩栈存储空间以达到节省计算时
间和存储空间的目的。
12、C语言为什么要规定对所有用到的变量要“先定义,后使用”这样做有什么好处?
因为C语言是一种强类型语言,要求所有变量在使用之前先定义数据类型。
1、根据数据类型分配内存空间。
2、便于提高源代码的安全性。
例子:假如一个全局变量money在代码中多次使
文档评论(0)