摘要: 《编程之美》3.10节中主要针对二叉树的分层遍历进行了讲述,其实在《剑指Offer》一书中”面试题23:从上到下打印二叉树“ 实质上也是针对树结构的按层遍历算法。解法使用一个队列实现。采用递归,代码如下: 1 struct TreeNode{ 2 TreeNode *left; 3 ... 阅读全文
posted @ 2013-10-07 19:56 菜鸟加贝的爬升 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 《编程之美》一书中讲述斐波那契数列的问题,之前大学本科的时候就接触这个问题,那时候开始就知道使用递归来计算,可是一直没有考虑过改进下该算法。。。囧~~菜 直到看到这本书,发现原来之前好多问题都可以优化,斐波那契就是其中之一,其中书本中讲述了三种方法、: 第一种就是对平时的递归算法进行优化,增加了数组专门记录每个子问题的解,实际上是动态规划的思想; 第二种利... 阅读全文
posted @ 2013-10-07 16:07 菜鸟加贝的爬升 阅读(2705) 评论(0) 推荐(0) 编辑
摘要: 之前一直在学习C/C++,关于const的使用,这里出现一点,那里出现一点。知识用时方恨少,这一段时间正好各种笔试题,其中关于const的用法也是层出不穷,所以疲于在书本上各种翻,这里汇总一下,加深自己的印象的同时,也方便以后查阅和学习。菜鸟一个,若有错误,望指正! const关键字 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。不管出现在任何... 阅读全文
posted @ 2013-10-06 21:28 菜鸟加贝的爬升 阅读(53421) 评论(7) 推荐(13) 编辑
摘要: 字符串的编辑距离也被称为距Levenshtein距离(Levenshtein Distance),属于经典算法,常用方法使用递归,更好的方法是使用动态规划算法,以避免出现重叠子问题的反复计算,减少系统开销。 《编程之美》一书中3.3节中计算两个字符串的相似度,归根到底也是要求两个字符串的距离,其... 阅读全文
posted @ 2013-10-06 10:55 菜鸟加贝的爬升 阅读(6287) 评论(1) 推荐(0) 编辑
摘要: Amazon Campus(2013-Sep-24)Question 2 / 2 (Amazon Campus(17):Find the differences of items in amazon)Amazon has millions of different items in different categories right now, so when sellers want to sell items in our website, sellers want to find the right categories their items belong to. Suppose we 阅读全文
posted @ 2013-10-05 22:08 菜鸟加贝的爬升 阅读(962) 评论(0) 推荐(0) 编辑
摘要: 整体思路:关键是需要知道当前Steps数组中的全排列即可,而且需要不重复的全排列。即关键在于非递归的全排列实现即可~ 其实直接利用STL中的next_permutation算法的,这里我又自己实现了一遍该算法,当练练手了~ 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 9 void Swap(int& a, int&b) 10 { 11 int tmp = a; 12 a = b; 13 b = tmp; 14 } 15 ... 阅读全文
posted @ 2013-10-01 21:10 菜鸟加贝的爬升 阅读(1837) 评论(0) 推荐(0) 编辑
摘要: 一、利用stringstream对象 stringstream在int或float类型转换为string类型的方法中已经介绍过, 这里也能用作将string类型转换为常用的数值类型。 #include <iostream>#include <sstream> //使用stringstream需要引入这个头文件using namespace std;//模板函数:将st... 阅读全文
posted @ 2013-06-05 15:42 菜鸟加贝的爬升 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 1、GetTickCount()函数1.1 函数介绍 该函数是windows里面常用来计算程序运行时间的函数;1.2 使用方法: DWORD dwStart = GetTickCount(); //这里运行你的程序代码 DWORD dwEnd = GetTickCount(); 则(dwEnd-dwStart)就是你的程序运行时间, 以毫秒为单位。这个函数只精确到55ms,1个tick就是55ms。1.3 代码示例 1 #include <iostream> 2 #include <windows.h> 3 using namespace std; 4 int main 阅读全文
posted @ 2013-06-02 14:56 菜鸟加贝的爬升 阅读(1793) 评论(0) 推荐(1) 编辑
摘要: 今天公司同事让写了一个对数据库不同表进行读取的DLL,以方便其调用。 其实程序倒没什么注意的地方,不过不以为意,在写Demo使用该DLL的时候总出错,错误都集中在COM库的释放处。到网络上一查,原来也有人出现过这种错误。。。特别记下来,防止菜鸟加贝隔天忘了(记性太差啊)~ 数据库是连上了,数据查询也成功了,连在方法的返回后却抛出了读写冲突异常,而且也不知道是啥异常,只是提示错误发生在comip.h中的某段代码:1 void _Release() throw()2 {3 if (m_pInterface != NULL) 4 {5 m_pInterface... 阅读全文
posted @ 2012-11-05 21:57 菜鸟加贝的爬升 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 最近搞数据库方面的一个小程序,将本地文件传输到服务器保存起来,其中对于文件的发送使用的是ADO中的AppendChunck函数,其参数为VARIANT类型的,使用常用方法将SafeArray 封装到VARIANT参数中。。。所以需要了解下SafeArray相关的一些知识。 SAFEARRAY的主要目的是用于automation中的数组型参数的传递。因为在网络环境中,数组是不能直接传递的,而必须将其包装成SafeArray。实质上SafeArray就是将通常的数组增加一个描述符,说明其维数、长度、边界、元 素类型等信息。SafeArray也并不单独使用,而是将其再包装到VARIANT类型的... 阅读全文
posted @ 2012-10-31 11:56 菜鸟加贝的爬升 阅读(1411) 评论(0) 推荐(0) 编辑