重建二叉树
摘要:#include #define TREELEN 6using namespace std;typedef struct Node{ char chValue; struct Node* pLeft; struct Node* pRight;}*PNode;void LastOrd...
阅读全文
posted @
2012-11-24 16:40
吉大依恋
阅读(247)
推荐(0)
求二叉树中节点的最大距离
摘要:#includeusing namespace std;struct Node{ char data; int nMaxLeft; int nMaxRight; Node* left; Node* right;};int nMaxLen;int FindMaxLen(Node* pRoot) //...
阅读全文
posted @
2012-11-24 15:41
吉大依恋
阅读(141)
推荐(0)
分层遍历二叉树
摘要:#include#includeusing namespace std;struct Node{ int data; //节点中的数据 Node* lChild; //左子指针 Node* rChild; //右子指针};void PrintNodeByLevel(Node* r...
阅读全文
posted @
2012-11-16 21:25
吉大依恋
阅读(223)
推荐(0)
队列中取最大值操作问题
摘要:分析:这个问题和设计一个在O(1)时间内取最大值的堆栈看似比较相似,但实现难度要比最大值的堆栈困难一些,开始想模仿最大值堆栈的思想来设计取最大值的堆栈都失败了。实际上这个问题可以拆分成两个问题:1)设计一个在O(1)时间内取最大值的堆栈;2)如何使用堆栈来实现一个队列;如果这两个问题解决了,O(1)...
阅读全文
posted @
2012-11-16 20:41
吉大依恋
阅读(834)
推荐(0)
从无头单链表中删除节点
摘要:#includeusing namespace std;struct Node{ int data; Node* next;};void deleteNode(Node* p){ p->data=p->next->data; //将p后的节点的数值赋给p的data域 p->next...
阅读全文
posted @
2012-11-16 19:12
吉大依恋
阅读(248)
推荐(0)
计算字符串的相似度
摘要:#include#includeusing namespace std;/*计算A[1,...,lenA]和B[1,...,lenB]的相似度可以采用动态规划计算A[2,...,lenA]和B[1,...,lenB]的相似度,A[1,...,lenA]和B[2,...,lenB]的相似度,A[2,....
阅读全文
posted @
2012-11-16 18:49
吉大依恋
阅读(266)
推荐(0)
电话号码对应英文单词
摘要:#include#define TelLength 3using namespace std; //将各个数字多能代表的字符存储在一个二维数组中char c[10][10]={ "", //0 "", //1 "ABC"...
阅读全文
posted @
2012-11-16 16:27
吉大依恋
阅读(2902)
推荐(0)
字符串移位包含的问题
摘要:#includeusing namespace std;//method1/*最直接的方法就是对src进行循环移位,再进行字符串包含的判断,从而遍历其所有的可能性。时间复杂度为O(N^2)*/bool isContain(char* src,char* des){ int len=strle...
阅读全文
posted @
2012-11-07 14:38
吉大依恋
阅读(232)
推荐(0)
程序理解和时间分析
摘要:#include #include using namespace std; int main() { int rg[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,2...
阅读全文
posted @
2012-11-07 13:57
吉大依恋
阅读(321)
推荐(0)
数组循环移位
摘要:#include#includeusing namespace std;//method1/*简单的办法,可以每次将数组中的元素右移一位,循环k次。不妨设k是一个非负的整数,当k为负整数的时候,右移k位,相当于左移(-k)位。左移和右移本质上是一样的。大家开始可能会有这样潜在的假设,k0;j--) ...
阅读全文
posted @
2012-11-07 13:20
吉大依恋
阅读(254)
推荐(0)
求数组中最长递增子序列
摘要:#includeusing namespace std;//method1/*利用动态规划来求解。假设目标数组array[]的前i个元素中,最长递增子序列的长度为LIS[i].那么,LIS[i]=max{1,LIS[k]+1},array[i+1]>array[k],for any kA[j] &&...
阅读全文
posted @
2012-11-07 12:35
吉大依恋
阅读(220)
推荐(0)
数组的子数组之和的最大值(二维)
摘要:#include#define MAX 100using namespace std;int A[MAX][MAX];int PS[MAX][MAX];//method1/*最直接的方法,当然是枚举每一个矩形区域,然后再求这个矩形区域中元素的和。时间复杂度为O(N^2 * M^2 * Sum的时间复...
阅读全文
posted @
2012-11-07 09:04
吉大依恋
阅读(414)
推荐(0)
数组的子数组之和的最大值
摘要:#includeusing namespace std;//method1 /* 使用穷举的方法穷举出所有可能的子数组之和,然后从中找出最大值。由于使用三重循环故时间复杂度为O(N^3)*/int MaxSum(int* A,int n){ int maximum=A[0];//maximum初始化...
阅读全文
posted @
2012-11-06 20:12
吉大依恋
阅读(200)
推荐(0)
二进制中1的个数
摘要:算法-求二进制数中1的个数问题描述任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n=5(0101)时,返回2,n=15(1111)时,返回4这也是一道比较经典的题目了,相信不少人面试的时候可能遇到过这道题吧,下面介绍了几种方法来实现这道题,相信很多人可能见过下面的算法,但我相信很少...
阅读全文
posted @
2012-10-08 10:50
吉大依恋
阅读(267)
推荐(0)