微博:
@TankyWoo基
新博客:
TankyWoo

2011年4月15日

摘要: 建议先看看前言:http://www.cnblogs.com/tanky_woo/archive/2011/04/09/2010263.html首先介绍几个概念: 卫星数据:一个带排序的的数通常是有一个称为记录的数据集组成的,每一个记录有一个关键字key,记录的其他数据称为卫星数据。 原地排序:在排序输入数组时,只有常数个元素被存放到数组以外的空间中去。 在第二章介绍了两种排序:插入排序和合并排序,接下来两章要介绍的是推排序和快速排序,这四个排序都属于比较排序(comparison sort)。 我以前总结过堆排序,并具体实现了堆排序,代码中给出了详细的注释,所以在这里就不重复发了,大家可以去 阅读全文
posted @ 2011-04-15 12:51 Tanky Woo 阅读(2798) 评论(16) 推荐(4) 编辑

2011年4月12日

摘要: 建议先看看前言:http://www.cnblogs.com/tanky_woo/archive/2011/04/09/2010263.html因为《算法导论》第一部分1~5章的理论性太强,研究过多容易纠结,所以索性合起来快点讲过去。第四章:这一章讲的是递归式(recurrence),递归式是一组等式或不等式,它所描述的函数是用在更小的输入下该函数的值来定义的。本章讲了三种方法来解递归式,分别是代换法,递归树方法,主方法。1.代换法(Substitution method)(P38~P40)定义:即在归纳假设时,用所猜测的值去代替函数的解。用途:确定一个递归式的上界或下界。缺点:只能用于解的形 阅读全文
posted @ 2011-04-12 12:40 Tanky Woo 阅读(5219) 评论(3) 推荐(2) 编辑

2011年4月10日

摘要: 上一篇:http://www.cnblogs.com/tanky_woo/archive/2011/04/09/2010263.html前三章基本没什么内容,所以合在一起总结。第一章:讲了算法(algorithm)的基本概念,以及算法的作用。(这些可以看书)用个人的话来讲,你可以把算法当做一个解决问题的方法,就像数学里的各种公式一样,你也可以把他们认为是一种算法。算法无处不在,而且算法必须存在,否则我们的生活都将变得缓慢,迟钝。举个例子:我们平时出去游玩时,要事先查好路线,这时就可以用百度地图搜索从A地到B地的路线,地图上会给出最快的乘车路线,这些路线是怎么给出来的,就是用了最短路的算法,关于 阅读全文
posted @ 2011-04-10 09:52 Tanky Woo 阅读(5128) 评论(9) 推荐(7) 编辑

2011年4月9日

摘要: 09年买的这本书,不过先开始一直没怎么用,直到去年6月份左右开始搞ACM,才偶尔翻翻这本书。这本书给我这样的感觉:有时遇到一个算法,在网上找了很多相关资料,但是看完后还是有点迷茫,然后才想起《算法导论》,遇到翻开目录,发现有相关的章节,于是去认真阅读,顿时发现自己的很多问题都可以解决了。它就是这么一本书,也许你会把它当一本圣经来供养,但是当你认真阅读后,你会发现你受益颇多。于是,自从几次问题通过《算法导论》解决后,我开始意识到,这是一个多么大的宝库啊。它容纳的目前常用的诸多算法,并且都给予了详细解释,图文并茂,易于理解。到目前为止,中间零散的看过一些章节。我有这么一个习惯,就是每学到一个算法, 阅读全文
posted @ 2011-04-09 12:15 Tanky Woo 阅读(20145) 评论(27) 推荐(9) 编辑

2011年1月29日

摘要: 1.(P252) 迭代器的分类及其能力:input迭代器只能读取元素一次。如果复制input迭代器,并使原迭代器和新产生副本都向前读取,可能会遍历到不同的值。output迭代器类似。2.(P258) C++不允许修改任何基本类型(包括指针)的暂时值,但对于struct, class则允许。所以:也许会失败,这取决于vector的实作版本。3.(P259) C++标注库为迭代器提供的三个辅助函数①. advance() 前进(或后退)多个元素注:对于Bidirectional迭代器或Random Access迭代器,n可以为负值,表示后退②. distance() 处理迭代器之间的距离③. it 阅读全文
posted @ 2011-01-29 17:20 Tanky Woo 阅读(1852) 评论(0) 推荐(2) 编辑

2011年1月28日

摘要: 前段时间在用devcpp时,发现他有个插入快捷键,可以自定义注释模板,直接插入即可,感觉很方便。但是我偏向于VS,所以就在CSDN上提问了,很高兴的找到了我需要的答案---自定义宏注释模板。这里和大家分享下(虽然网上讲的很多了。。。)程序注释的重要性毋庸置疑,一个大型的项目通常情况下都是几个软件工程师合作出来的成果,假如该项目中的代码注释不全,那会给将来的维护者带来无穷无尽的隐患。通用的办法是给自己工程里面的函数添加注释——使用宏。1.打开Visual Studio 2008(2005一样适用)开发工具,单击“工具→宏→新建宏项目”,然后按照步骤建立注释宏,添加如下代码并保存。2.打开 菜单 阅读全文
posted @ 2011-01-28 10:41 Tanky Woo 阅读(4410) 评论(2) 推荐(3) 编辑

2011年1月27日

摘要: 1.(P145) 容器类别的共同操作函数(只列了个别几个):c.max_size()Returns the maximum number of elements possiblec1.swap(c2)/swap(c1, c2)Swaps the data of c1and c2c.begin() / c.end()Returns an iterator for the first element/the position after the last elementc.rbegin()Returns a reverse iterator for the first element of a r 阅读全文
posted @ 2011-01-27 12:24 Tanky Woo 阅读(1767) 评论(0) 推荐(2) 编辑

2011年1月24日

摘要: 这一章主要是大概的介绍一下容器,迭代器,算法,仿函数等,为6,7,8,9章的概括。1.(P74) STL的基本概念就是将数据和操作分离。数据由容器类别加以管理,操作则由可定制的算法定义。迭代器在两者之间充当粘合剂。任何算法都可以和任何容器交互运作。 2.(P75) 容器(Containers)容器类别用来管理一组元素。总的来说,容器分为两大类:①.序列式容器(Sequence containers),是可序(ordered)群集。包括vector, queue, list。②.关联式容器(Associative containers),是已序(sorted)群集。包括set, multiset 阅读全文
posted @ 2011-01-24 19:03 Tanky Woo 阅读(1740) 评论(0) 推荐(4) 编辑
摘要: 1.(P33) Pairs(对组)的定义class pair可以将两个值视为一个单元。map和multimap就是通过pair来管理键值/实值(key/value)的。在pair的定义中:[代码]可以看到在copy构造函数时,使用了template,这是对于需要隐式转换的。如果是相同类型,则不是调用此构造函数,而是调用系统合成的copy构造函数。对于上面代码实现的方法,在学习笔记1(http://www.wutianqi.com/?p=2025)中第二点讲到过。2.(P36) 生成Pair的便捷函数make_pair()namespace std { // create value pair 阅读全文
posted @ 2011-01-24 13:57 Tanky Woo 阅读(1865) 评论(0) 推荐(4) 编辑

2011年1月23日

摘要: ————————— 第二章 —————————1.(P11) C++规定:除了以typename修饰外,template内的任何标志符号都被视为一个值(value)而非一个型别。 eg. [代码] 这里typename指出SubType是class T中定义的一个型别,因此ptr是一个指向T::SubType的指针,否则SubType会被当作一个static成员,于是: T::SubType *ptr被认为是SubType与ptr的乘积。 2.(P12) template class 的 member template问题: 下面例子,即使两个型别之间可以自动转换,如int和do 阅读全文
posted @ 2011-01-23 18:44 Tanky Woo 阅读(2454) 评论(4) 推荐(3) 编辑

导航