- 博客(40)
- 资源 (5)
- 收藏
- 关注
原创 第四十七题(求最长递减子序列)
复杂对象的构建与它的表示分离,使得同样的构建过#includeusing namespace std;namespace MS100P_47{ /* 求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2}*/ void printArray(int dp[], int data[], int k) { for (
2014-06-29 23:33:17 843
原创 图的遍历
/********************************************************************///图的深度搜索和广度搜索#include "stdafx.h"#include #include#include#include#includeusing namespace std;namespace BFSandDFS_LinJieBi
2014-06-29 16:19:51 668
原创 Dijkstra算法
izeof是C/C++中的一个操作符(operatizeof是C/C++中的一个操作符(operat#include "stdafx.h"#include using namespace std;namespace Dijkstra{ const int MAX = 10; int c[MAX][MAX
2014-06-27 17:24:35 861
原创 第十一题(求二叉树中节点的最大距离)
递归求解对于一个根节点,取 左子树最大深度+右子树最大深度,左子树最大距离,右子树最大距离这三种情况的最大值对于叶子节点,深度,最大距离都是0采用引用传递参数的方式,取得子树的深度
2014-06-26 10:11:51 764
原创 第六十二题(求两个单向链表的第一个公共节点)
62.找出链表的第一个公共结点。题目:两个单向链表,找出它们的第一个公共结点。链表的结点定义为:struct ListNode{int m_nKey;ListNode* m_pNext;};
2014-06-25 17:25:16 1087
原创 第三题(求子数组的最大和)
3.求子数组的最大和题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。
2014-06-25 15:33:08 1373
原创 回溯算法
溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。
2014-06-25 14:22:47 756
原创 字符串模式匹配(BF算法和KMP算法)
KMP#include "stdafx.h"#include using namespace std;namespace StringPattern{ //BF 算法的实现 int stringPattern_BF(const char* s,int sLen, const char* t,int tLen) { int i = 0, j = 0; while (
2014-06-24 17:06:22 2648
原创 第二十九题(判断pop序列是否和push序列对应)
29.栈的push、pop序列题目:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。分析:
2014-06-23 00:39:39 1211
原创 第二十六题(字符串左旋)
违法namespace MS100P_26{ //方法1:先分别翻转字符串ab,cdef,再整体翻转 void leftShift1(char *s, int n) { int length = strlen(s); int temp; for (int i = 0; i < n/2; i++) //局部翻转 { temp = s[i]; s[i]
2014-06-22 15:14:03 773
原创 第二十四题(链表的逆序)
#include "stdafx.h"#include#include#include#include#include #includeusing namespace std;namespace MS100P_24{struct node{int data;node* next;};node* createList(int len)
2014-06-22 11:51:59 746
原创 线程的属性
线程具有属性,用pthread_attr_t表示,在对该结构进行处理之前必须进行初始化,在使用后需要对其去除初始化。我们用pthread_attr_init函数对其初始化,用pthread_attr_destroy对其去除初始化。
2014-06-22 10:39:33 874
原创 第二十一题(求数组中和为特定数的所有组合)
的#includenamespace MS100P_21{ //递归 void helper(int index, int m, int n, list& record) { if (index <= n) { if (index == m) { helper(index + 1, m, n, record); record.push_b
2014-06-21 18:23:13 6665
原创 第二十题(字符串转换成整数)
第#include#includeusing namespace std;namespace MS100P_20{ int atoi(const char* str) { if (str == NULL) { cout << "null string,error!" << endl; return -1; } int result = 0;
2014-06-21 16:01:41 720
原创 第十九题(最快的方法求Fibonacci数列)
题目:定义Fibonacci 数列如下: / 0 n=0f(n)= 1 n=1 \ f(n-1)+f(n-2) n=2输入n,用最快的方法求该数列的第n 项。
2014-06-21 01:29:45 1275
原创 第十八题(约瑟夫环问题)
第18 题:题目:n 个数字(0,1,…,n-1)形成一个圆圈,从数字0 开始,每次从这个圆圈中删除第m 个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m 个数字。求出在这个圆圈中剩下的最后一个数字。
2014-06-20 22:35:32 2258
原创 第十七题(找出字符串中第一个只出现一次的字符)
题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。分析:这道题是2006 年go
2014-06-20 16:52:17 851
原创 第十六题(树的层序遍历)
输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。例如输入8/ \6 10/ \ / \5 7 9 11输出8 6 10 5 7 9 11
2014-06-20 15:58:17 680
原创 第十五题(二元查找树镜像翻转)
namespace MS100P_15{ struct BinaryTreeNode // a node in the binary tree { int m_nValue; // value of node BinaryTreeNode *m_pLeft; // left child of node BinaryTreeNode *m_pRight; // right chil
2014-06-20 15:36:31 681
原创 第十四题(升序数组中寻找和为特定数的两个元素)
题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入数组1、2、4、7、11、15 和数字15。由于4+11=15,因此输出4 和11。
2014-06-20 14:42:27 874
原创 linux信号学习
在Linux中,信号是进程间通讯的一种方式,它采用的是异步机制。当信号发送到某个进程中时,操作系统会中断该进程的正常流程,并进入相应的信号处理函数执行操作,完成后再回到中断的地方继续执行。
2014-06-18 19:49:59 901
原创 位图排序
#include "stdafx.h"#include#includeusing namespace std;namespace chapter1{/*位图排序,可以看做是一种哈希表要求数据不能重复(哈希表的键不能重复)同时数据的最大范围确定,用来位数的最大值缺点:空间浪费,在数据很少,但是个别数据很大的时候会有很多的空位只能处理整数*/
2014-06-15 10:18:12 520
原创 C++ class的各种sizeof
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;class hollow //size 1,为了在内存中给其对象分配一个独一无二的地址,编译器自动给其增加一个char成员变量{};class A //size 4
2014-06-11 23:35:26 684
原创 树的遍历总结
// datastructure_algorithms.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#include#includeusing namespace std;namespace Tree{struct TreeNode{int data;struct TreeNode
2014-06-10 22:59:56 934
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人