1和3的语句频度和时间复杂度有点难理解

语句1频度为n+1 语句2频度为n 语句3频度为n(n+3)/2 语句4频度为n(n+1)/2 这_百度知道请教一下这道数据结构题中语句3的频度,正确答案1/2*n(n+3),不胜感激?
这个就是1800题上的题吧 ,每一次for循环需要判断出口条件 for i:=1 downto 1 ;语句频度就是2。上题中,外层i为n时, 语句(3)的频度为2 ,i为1时,语句(3)频度为n+1。
已有帐号?
无法登录?
社交帐号登录C语言真正的特点及其演变 C语言的发展及其特点
本文所属图书&>&
本书是谭浩强老师经典的《C 程序设计》(以下简称原书)一书的最佳伴侣,是对原书有益且神奇的补充。本书对原书中没有讲透彻的没有讲明白的那些概念、知识和技术点进行了深刻却易于理解的讲解,并把原书中遗漏的...&&
在这一小节中,谭老师简要地介绍了C语言的发展历程,让我们认识到C语言是一门历史悠久的程序设计语言,从最初的只是为了描述和实现UNIX的需要而设计的一种工作语言,到后来得到业界的广泛认同而逐渐成为一种流行的程序设计语言。它的流行,也证明了其鲜明的特点让它具有了旺盛的生命力,C语言已经流行,并且还将继续流行,它始终是一门应用广泛的主流程序设计语言。(这句话的潜台词是,学习C语言大有&前/钱&途。)
C语言能够受到大家的欢迎和认可,能够在软件业界广泛流行,这不是偶然的,是由它的鲜明的程序设计特点决定的。谭老师总结了C语言的8个特点,从&语言简洁、紧凑,使用方便、灵活&到&运算符丰富&,从&具有结构化的控制语句&到&语法限制不太严格,程序设计自由度大&等等。
没错,这些确实是C语言的特点,但是,真正让C语言能够在众多的程序设计语言中屹立不倒的特点只有两个:
接近底层,可以直接对硬件进行操作
严格地说,C语言是一种介于低级程序设计语言(例如,汇编语言)和高级程序设计语言(例如,C++、Java)之间的中级程序设计语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来,这使得程序员可以非常容易地利用C语言直接对计算机的硬件单元位、字节和地址进行操作。这样的特点,决定了C语言在某些需要对硬件进行操作的应用场景下,例如嵌入式系统中,成为程序员们的不二之选。
执行效率高,具有接近汇编的性能
除了汇编语言之外,C语言应该是当今主流程序设计语言中,执行效率最高的程序设计语言C语言的发展及其特点了。一般而言,经过编译器优化后的C语言程序,其执行效率只比汇序生成的目标代码效率低10%~20%。对于某些对性能要求极高的软件,诸如Linux内核、搜索引擎算法,以及大型的科学计算程序等等,恐怕只有C语言才能够胜任。这也决定了C语言在这些领域具有长久的生命力,始终处于一种无可替代的地位。
事物都有两面性,C语言的优点非常突出,但相对于那些高级程序设计语言,其缺点也非常明显。
数据封装性不强
C语言的一个重要的缺点就是它对数据的封装性不强,基本上,在程序中我们可以对任何数据进行任意的访问,而不管这个数据是关键的重要数据还是某个无关紧要的临时数据。这一点使得C语言在数据的安全性上有很大缺陷,这也是C语言和C++语言的一大区别。
结构化的程序设计语言,无法支持复杂的大型业务型的开发
C语言是一种优秀的结构化程序设计语言,可以很好地实现程序代码及数据的相互分离,利于程序的开发和维护。出于性能的需求,它也被用于构建一些底层系统(例如kernel)。但是,在开发一些更加复杂的业务型系统的时候,因为其抽象层次比较低,这样的设计方法却可能让整个项目陷入&需求变化&的深渊,一旦需求发生变化,则可能需要对整个系统的设计进行变更,这使得C语言无法很好地支持复杂的大型系统的开发,极大地限制了C语言的应用。这也是为什么后来出现了面向对象的设计思想以及C++语言。
C语言语法灵活,须了解更多软硬件知识,难以掌握
C语言的理念与UNIX系统以及Hacker精神是一脉传承的:程序员应该对他自己的行为负责。因此没有在语言层级上做过多的约束。保持语言的强大、简洁、灵活是优先考虑的,而不是对初学者的亲和度。正是因为贯彻着这样的精神,C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。因为其灵活性,尤其加之须对软硬件特点有更多了解(难在语言层面之外),使得从应用的角度,C语言比其他高级语言较难掌握,这也限制了C语言的应用普及。
这样看来,C语言是一种优点和缺点都非常突出的程序设计语言,就像一个个性过于突出的人一样,一面是天使,一面是魔鬼。我们只有对C语言的优点和缺点都有一个全面而清晰的认识,才能真正理解C语言,把握C语言的个性,充分利用好C语言的优点,尽量避免C语言的缺点,让C语言在合适的应用场景下发挥最大的作用。
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'剑指offer解题报告(36)
数据结构与算法的C++实现(69)
剑指offer 面试题: 求1+2+3+...+n
提交网址:&h
参与人数:2426 &时间限制:1秒 &空间限制:32768K
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
方法1:&短路与&&、短路或|| + 递归
不能用判断语句的关键字,但是能想到短路与&&、短路或||的特性:如果 || 前面一个为真,则||后面的不会再执行,如果 && 前面一个为假,则&&后面的不会再执行。
#include &iostream&
class Solution {
int Sum_Solution(int n) {
int res=n;
res&&(res += Sum_Solution(n-1));
// n=0时,累加和为0
// 以下为测试部分
int main()
cout&&sol.Sum_Solution(3)&&
方法2:使用二维数组+sizeof操作符+位操作
由于计算结果比较容易得到,即为 n(n+1)/2,故若选取占用1个Byte的bool(或char)型数组arr[n][n+1],则sizeof(char)*n(n+1)&&1即为所求,如果选取占用4个Byte的int型数组arr[n][n+1],则sizeof(int)*n(n+1)&&3即为所求。不过由于char可能会在不同的编译器上占的字节数不一样,不建议使用。本人选用了int型二维数组来解决。
class Solution {
int Sum_Solution(int n) {
int a[n][n+1];
return sizeof(a)&&3;
方法3:使用构造函数
方法4:使用函数指针
方法5:使用虚函数
方法6:使用模板函数(C++、Java等支持泛型)
后面4种方法来自于剑指offer原书2014版,暂时没弄太懂,有空了再琢磨琢磨...
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:585896次
积分:15768
积分:15768
排名:第454名
原创:295篇
转载:13篇
评论:13条
文章:15篇
阅读:6182
文章:39篇
阅读:12560
(1)(25)(4)(5)(36)(24)(8)(2)(2)(3)(3)(1)(2)(2)(87)(1)(1)(3)英语翻译: 1.他的普通话不好,理解他的话有点难 2.张老师明天将会在会上作报告吗? 3.王力喜英语翻译:
1.他的普通话不好,理解他的话有点难2.张老师明天将会在会上作报告吗?3.王力喜欢一个字一个字地阅读,所以他是个很慢的阅读者4.我通过看录像学习英语5.房间越大,你会感觉越舒服,6.我认为找到学习语言的秘诀很苦难7.我能够通过看他们的肢体语言和他们脸上表情理解意思8.你怎样提高你的写作?我每天用英语记日记9.多做语法练习能帮助我学习语法10.我很想学新单词和更多的语法以便我能更好地理解英文电影
那孩子92KT
English Translation: 1 his Mandarin is not good, understood his words a bit difficult to 2 Zhang tomorrow will give a speech at the meeting? 3 the king force like a word for word reading, so he is a v...
His putonghua is not good,so
为您推荐:
扫描下载二维码

我要回帖

更多关于 语句频度 的文章

 

随机推荐