
算法设计
青青小禾
这个作者很懒,什么都没留下…
展开
-
字符串表示 大数相乘
void multiply_1(char number1[],char number2[]) { int len1=0,len2=0; char *p1=number1,*p2=number2; while (*p1++) { len1++; } while (*p2++) { len2++; } p1=NULL; p2=NULL; cout for (int原创 2014-10-23 13:33:19 · 542 阅读 · 0 评论 -
定义栈的数据结构,要求添加一个 min 函数,能够得到栈的最小元素。要求函数 min、push 以及 pop 的时间复杂度都是 O(1)。
#include "stdafx.h" #include #include #include #include #include #include using namespace std; #include #include #include // BSTreeNode1.cpp : 定义控制台应用程序的入口点。 // template class StackWithMin {原创 2014-11-04 13:30:55 · 668 阅读 · 0 评论 -
KMP算法
int kmp(char S[],char T[],int Next[],int S_length,int T_length) { int i=0; int j=0; while (i<S_length&&j<T_length) { if (j==-1||S[i]==T[j]) { i++; j++; } else { j=Next[j]; } } if (j>=T_length) { retur原创 2014-11-04 13:29:38 · 321 阅读 · 0 评论 -
/堆排序 2014年8月27日 13:31:49
//堆排序 //交换两个值 void swap(int *a,int *b) { *a=*a^*b; *b=*a^*b; *a=*a^*b; } //调整堆 大顶堆 void adjustHeap(int *a,int size,int i) { if (i>size/2) //如果不是非终端结点 { return; } int max_index=i; int leafChild=2*i;原创 2014-11-04 13:29:39 · 409 阅读 · 0 评论 -
直接插入排序
void display(int a[],int len) { for (int i=0;i<len;i++) { cout<<a[i]<<" "; } cout<<endl; } bool com(int a,int b) { return a>=b?1:0; } void StraightInsertSort(int a[],bool(*com)(int,int),int len) {原创 2014-11-04 13:27:12 · 753 阅读 · 0 评论 -
快速排序
int Sort(int a[],int low,int high) { int mid_axis=a[low]; //中轴的值 while(low<high) { while(low=mid_axis) { high--; } a[low]=a[high]; while(low<high&&a[low]<=mid_axis) { low++; } a[high]=a[l原创 2014-11-04 13:28:20 · 286 阅读 · 0 评论 -
图的创建 深度优先遍历 广度优先遍历
struct ArcNode { int headVex,tailVex; //头尾顶点 ArcNode *headIN,*tailOut; int weight; }; struct VexNode { int data; ArcNode *firstIN,*firstOUT; }; struct Graphic { int vexNum,arcNum; //顶点和弧个原创 2014-11-04 13:26:24 · 496 阅读 · 0 评论 -
题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个 子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为 O(n)。
int main() { int a[8]={-1,-2,-3,-10,-4,-7,-2,-5}; int sum=0; int GreateSum=0; for (int i=0;i<8;i++) { sum+=a[i]; if (sum<0) { sum=0; } if (sum>GreateSum) { GreateSum=sum; } } if (GreateSum==0) { for原创 2014-11-04 13:31:01 · 4102 阅读 · 0 评论