04 2012 档案
编程珠玑 求解最大字串和
摘要:编程珠玑8.4节讲扫描算法,我看了半天都没看明白,最后自己写了一遍,终于搞懂了,把它记下来,以免今后忘了。首先,书上的算法是这样写的:maxsofar = 0maxendinghere = 0for i=[0 n) maxendinghere = max(maxendinghere + x[i], 0) maxsofar = max(maxsofar, maxendinghere)这个max so far和max ending here究竟表示什么呢?先来看我写的程序的输出:输入:{31, -41, 59, 26, -53, 58, 97, -93, -23, 84}输出:其中Accu就是ma
阅读全文
排列-组合的代码实现
摘要:排列组合是算法常用的基本工具,如何在c语言中实现排列组合呢?思路如下: 首先看递归实现,由于递归将问题逐级分解,因此相对比较容易理解,但是需要消耗大量的栈空间,如果线程栈空间不够,那么就运行不下去了,而且函数调用开销也比较大。 (1) 全排列: 全排列表示把集合中元素的所有按照一定的顺序排列起来,使用P(n, n) = n!表示n个元素全排列的个数。 例如:{1, 2, 3}的全排列为: ...
阅读全文
C++指针 完全攻略(1)
摘要:作为C++语言的亮点与精髓,指针一直是备受人们追捧和病诟的东西。不知道有多少精巧的代码是通过它实现的,也不知道有多少难缠的bug是由它引发的,这篇文章先对指针做一个全局的总结,从声明、赋值、调用和实现机制上对所有指针做一个说明,希望对大家有所帮助。在后续的文章中,我将给出那些使用指针的技巧。 首先是一个列表,列出我们今天讨论的内容: 指向基本数据类型的指针 ...
阅读全文
浙公网安备 33010602011771号