2014年2月28日

一步一步写算法(之内存)(转)

摘要: 内存是程序运行的基础。所有正在运行的代码都保存在内存里面。内存需要处理各种各样的数据,包括键盘的数据、鼠标的数据、usb的数据、串口的数据、摄像头的数据,那么这些数据经过程序的处理之后,就要进行输出到串口、屏幕、usb等。 内存只有一个,但是程序里面的空间有很多种。但是内存中的数据类型只有几种,... 阅读全文

posted @ 2014-02-28 11:04 仅此而已_ 阅读(147) 评论(0) 推荐(0)

一步一步写算法(之递归和堆栈)(转)

摘要: 看过我前面博客的朋友都清楚,函数调用主要依靠ebp和esp的堆栈互动来实现的。那么递归呢,最主要的特色就是函数自己调用自己。如果一个函数调用的是自己本身,那么这个函数就是递归函数。 我们可以看一下普通函数的调用怎么样的。试想如果函数A调用了函数B,函数B又调用了函数C,那么在堆栈中的数据是怎么保存的呢?函数A^函数B|(地址递减)函数C| 如果是递归函数呢,举一个简单的递归函数为例:intiterate(intvalue){if(value==1)return1;returnvalue+iterate(value-1);} 下面我们使用一个函数进行调用,看看会发生什么情况?voidproce. 阅读全文

posted @ 2014-02-28 10:57 仅此而已_ 阅读(433) 评论(0) 推荐(0)

一步一步写算法(开篇)(转)

摘要: 算法是计算机的生命。没有算法,就没有软件,计算机也就成了一个冰冷的机器,没有什么实用价值。很多人认为,算法是数学的内容,学起来特别麻烦。我们不能认为这种观点是错误的。但是我们也知道,软件是一种复合的技术,如果一个人只知道算法,但是不能用编程语言很好地实现,那么再优秀的算法也不能发挥作用。一个人只有有了很好的计算机知识和数学知识,才能在算法的学习上不断进步。不管算法都么简单,都要自己亲手实践,只有不断认识错误、不断发现错误,才能不断提高自己的编程能力,不断提高自己的业务水平。 这里取名一步一步写算法的目的主要有两个:第一,保证我们的算法都是大家可以学得会,看的懂的;第二,保证我们的算法是健壮.. 阅读全文

posted @ 2014-02-28 10:41 仅此而已_ 阅读(204) 评论(0) 推荐(0)

一步一步写算法(之循环和递归)(转)

摘要: 其实编程的朋友知道,不管学什么语言,循环和递归是两个必须学习的内容。当然,如果循环还好理解一点,那么递归却没有那么简单。我们曾经对递归讳莫如深,但是我想告诉大家的是,递归其实没有那么可怕。所谓的递归就是函数自己调用自己而已,循环本质上也是一种递归。1)求和递归函数 我们可以举一个循环的例子,前面我们说过,如果编写一个1到n的求和函数怎么写呢,你可能会这么写:intcalculate(intm){intcount=0;if(mdata);pNode=pNode->next;}} 那么此时如果改成递归,那就更简单了:voidprint(constNODE*pNode){if(NULL==pN 阅读全文

posted @ 2014-02-28 10:25 仅此而已_ 阅读(240) 评论(0) 推荐(0)

导航