上一页 1 ··· 6 7 8 9 10 11 12 下一页
摘要: 题目:输入一个已经按升序排序过得数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求:时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。举例:输入数组1、2、4、7、11、15和数字15.由于4 + 11 = 15,因此输出4和11。、答:#include "stdafx.h"#include <iostream>using namespace std;void FindNumber(int arr[], int length, int num){ if (NULL == arr || length <= 0) 阅读全文
posted @ 2012-08-23 20:24 venow 阅读(886) 评论(0) 推荐(0) 编辑
摘要: #include "stdafx.h"#include <fstream>#include <iostream>using namespace std;typedef struct _Node{ int data; struct _Node *left; struct _Node *right; int bf; //平衡因子 _Node() { data = 0; left = NULL; right = NULL; bf = 0; }}Node, *_PNode;//创... 阅读全文
posted @ 2012-08-23 19:54 venow 阅读(1144) 评论(0) 推荐(0) 编辑
摘要: #include "stdafx.h"#include <iostream>using namespace std;//*****************************满二叉树先序、中序和后序之间的转换*****************************begin//先序序列转换为后序序列//参数说明: (in) pre ———— 先序数组// (out) post ———— 后序数组// (in) preLow ———— 先序的第一个结点的下标// (in) preH... 阅读全文
posted @ 2012-08-23 19:43 venow 阅读(2321) 评论(0) 推荐(1) 编辑
摘要: 题目:输入一棵二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。要求:用递归和循环两种方法完成树的镜像转换。举例: 8 8 / \ 转换 / \ 6 10 --> 10 6 / \ / \ / \ / \ 5 7 9 11 11 9 7 5二叉树定义的结点为:struct BSTreeNode{ int m_nValue; BST... 阅读全文
posted @ 2012-08-22 20:45 venow 阅读(700) 评论(0) 推荐(0) 编辑
摘要: 题目:求1 + 2 + 3 + ... + n 的和要求:不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)答:#include "stdafx.h"#include <iostream>using namespace std;//1、函数查找表法typedef int (*Func)(int n);int Sum1(int n){ return 0;}int Sum2(int n){ Func sum[2] = {Sum1, Sum2}; return sum[n > 0](n - 1) + 阅读全文
posted @ 2012-08-22 20:10 venow 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 题目:求子数组的最大和要求:1、输入一个整形数组,数组里有正数也有负数。 2、数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 3、求所有子数组的和的最大值。要求时间复杂度为O(n)。举例:输入数组为1, -2, 3, 10, -4, 7, 2, -5。和的最大子数组为3, 10, -4, 7, 2。即输出和为18。答:#include "stdafx.h"#include <iostream>using namespace std;int FindMaxSubSum(int arr[], int length){ int sum = 0; in 阅读全文
posted @ 2012-08-21 20:40 venow 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历结果。如果是,返回true,否则返回false。举例:输入5、7、6、9、11、10、8,由于这个整数序列有如下的树的后序遍历结果: 8 / \5、7、6、9、11、10、8 -> 6 10 / \ / \ 5 7 9 11因此返回tr... 阅读全文
posted @ 2012-08-21 20:27 venow 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求:不能创建任何新的结点,只调整指针的指向。举例: 10 / \ 转变 6 14 --> 4=6=8=10=12=14=16 / \ / \ 4 8 12 16定义的二元查找树结点的数据结构如下:struct BSTreeNode { int m_nValue; BSTreeNode *m_pLeft; BSTreeNode *m_pRight;};答:用二叉树的中序遍历#include "std... 阅读全文
posted @ 2012-08-20 20:38 venow 阅读(315) 评论(0) 推荐(0) 编辑
摘要: #include "stdafx.h"#include <iostream>#include <fstream>#include <queue>#include <stack>#include <Windows.h>using namespace std;typedef struct _Node{ int data; struct _Node *left; struct _Node *right; _Node() { data = 0; left = NULL; right = NULL; }}Node, *... 阅读全文
posted @ 2012-08-20 19:49 venow 阅读(2015) 评论(0) 推荐(0) 编辑
摘要: #include "stdafx.h"#include <iostream>#include <fstream>#include <Windows.h>using namespace std;#define INFINITY 65535#define MAX_VERTEX_NUM 20 //顶点最多个数#define LENGTH 5 //顶点字符长度//*********************************邻接矩阵***********************************begin//邻接矩阵typedef st 阅读全文
posted @ 2012-08-20 19:31 venow 阅读(5143) 评论(0) 推荐(1) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 下一页