算法
爱码hyatt_hu
小猿一枚。
展开
-
矩阵相乘
//矩阵相乘:#includeusing namespace std;#define size_m 2#define size_n 3#define size_s 4//void mulmatrix(int** matrixA, int** matrixB, int** matrixC, int n)//{// for (int i = 0原创 2015-11-04 23:17:39 · 304 阅读 · 0 评论 -
最大连续乘积子数组
//动态规划问题//给定具体数组,取出最大的乘积子数组;#include<iostream>using namespace std;double matrix(double *buff, int length){ int i; int j; double sum; sum = buff[0]; for (i = 0; i < length; i++)原创 2015-11-10 16:49:36 · 263 阅读 · 0 评论 -
求中位数。
/在网上找了好久,没有找到求一个行列均递增二维矩阵的中位数算法,于是自己花了几天的时间去摸索一下求一个数组的中位数算法,本算法不只是求中位数,可以求出你想求/////的///第K小的元素,//不废话,上代码。。//要多思考,每一步的思想,即使我没有给出每一步的算法解释,,有疑问的话可以下面评论。。原创 2015-10-26 21:03:15 · 641 阅读 · 0 评论 -
寻找和为定值的递归算法
可以参考http://www.cnblogs.com/Anker/archive/2013/05/04/3059070.html原创 2015-10-28 21:43:28 · 273 阅读 · 0 评论 -
寻找和为定值的两个数
有的版本是基于排好序的。。。此程序是采用插入排序法来进行排序,在有序的基础上进行前后遍历。。原创 2015-10-28 18:47:44 · 281 阅读 · 0 评论 -
分支策略。。。最大连续子数组和
//分支策略:#includeusing namespace std;void maxsubarray(int *s, int low, int mid, int high){int left_sum = 0;int right_sum = 0;int sum = 0;int max_left = 0;int max_right = 0;int i,原创 2015-10-29 20:45:56 · 278 阅读 · 0 评论 -
最大连续子数组和。
其实在算导论中也有相应的算法,且时间复杂度更小,,,在以后的博客中我会写下相应的程序。。原创 2015-10-29 13:47:13 · 339 阅读 · 0 评论 -
给id那个一个数组,请调整数组中数的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
//奇偶数排序:#includeusing namespace std;#define NULL 0//void insert_sort(int *s, int length)//{// int temp;// int j;// for (int i = 2; i // {// int temp = s[i];// int原创 2015-10-31 17:18:10 · 281 阅读 · 0 评论 -
不改变正负数相对顺序的重新排列
//不改变正负数相对顺序的重新排列#includeusing namespace std;void partition_no_change(int *s, int length){int j;int p = 0;for (j = length - 1;j>p;){if (s[j] {int i = j;while (i != 0){i原创 2015-10-31 20:27:45 · 462 阅读 · 0 评论 -
0-1背包问题
## 问题描述 ## 有一个窃贼在偷窃一家商店时发现有n件物品,第i件物品价值为vi元,重量为wi,假设vi和wi都为整数。他希望带走的东西越值钱越好,但他的背包中之多只能装下W磅的东西,W为一整数。他应该带走哪几样东西?0-1背包问题中:每件物品或被带走,或被留下,(需要做出0-1选择)。小偷不能只带走某个物品的一部分或带走两次以上同一个物品。 部分背包问题:小偷可以只带走某个物品的一部分,不原创 2015-12-01 16:18:57 · 385 阅读 · 0 评论 -
Kruskal算法C语言实现
#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <string.h>#define MAX 100 // 矩阵最大容量#define INF (~(0x1<<31)) // 最大值(即0X7FFFFFFF)#define isLet原创 2015-12-24 12:05:09 · 3922 阅读 · 3 评论 -
Prim算法的C语言实现(邻接矩阵)
#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <string.h>#define MAX 100 // 矩阵最大容量#define INF (~(0x1<<31)) // 最大值(即0X7FFFFFFF)#define isLetter(a) (((原创 2015-12-24 17:23:46 · 2123 阅读 · 0 评论 -
最长回文子串
利用枚举法,分为奇数和偶数。。原创 2015-10-25 21:47:02 · 290 阅读 · 0 评论 -
字符串转换成整数
输入char str[] = " qw - 123";输出123原创 2015-10-25 15:07:40 · 267 阅读 · 0 评论 -
完美洗牌算法
我自己认为这个一点都不好,即使这是外国的一篇论文中的较好的算法,复杂度也不太高。。。。原创 2015-11-05 17:32:21 · 417 阅读 · 0 评论 -
单词反转
反转字符原创 2015-10-22 18:03:02 · 332 阅读 · 0 评论 -
有序数组的查询
//有序数组的查询:#include#includeusing namespace std;void insert_partition(int *buff, int n){int i;int j;int temp;for ( i = 2; i {int temp = buff[i];j = i - 1;while原创 2015-11-08 20:15:27 · 258 阅读 · 0 评论 -
字符串的旋转,不废话,直接上代码。。。
字符串的旋转,不废话,直接上代码。。。原创 2015-10-22 16:14:24 · 367 阅读 · 0 评论 -
字符串匹配
//字符串的查找//BF算法#include#includeusing namespace std;int index(const string& Tag, const string& Ptn, int pos){int i = pos;int j = 0;int tlen = Tag.size();int plen = Ptn.size();whi原创 2015-11-09 13:42:23 · 211 阅读 · 0 评论 -
通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。
filter()实现的功能:输入:“abbbbes” 输出:“abes”输入:“asddsa” 输出:“asd”输入:“pppppppp” 输出:“p”zip()实现的功能:输入:“cccddecc” 输出:“3c2de2c”输入:“adef” 输出:“adef”输入:“pppppppp” 输出:“8p”原创 2015-10-23 20:23:40 · 1101 阅读 · 0 评论 -
最大连续乘积子数组u
//动态规划 //我感觉有点递归的味道:#include<iostream>using namespace std;double max(double a, double b){ if (a > b) return a; else return b;}double min(double a, double b){ if (a > b原创 2015-11-10 18:56:13 · 302 阅读 · 0 评论 -
判断两个字符串是否为兄弟字符串
判断两个字符串是否为兄弟字符串原创 2015-10-24 20:20:35 · 857 阅读 · 0 评论 -
字符串的全排列
字符串的全排列原创 2015-10-24 21:34:51 · 346 阅读 · 0 评论 -
字符串的查找--KMP算法
kmp算法原创 2015-11-09 21:32:04 · 260 阅读 · 0 评论 -
字符串的全排列
输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。原创 2015-10-25 12:46:58 · 328 阅读 · 0 评论 -
Kosaraju算法---求解强连通分量
有向图强连通分量在有向图G中,如果两个顶点Vi,Vj间(Vi>Vj)有一条从Vi到Vj的有向路径,同时还有一条从Vi到Vj的有向路径,则称这两个顶点强。连通(strongly connected),如果有向图G中的任意两个顶点都强连通,则称G是一个强连通图。Kosaraju算法、Tarjan算法、Gabow算法皆为寻找有向图强连通分量的有效算法。但是在Tarjan 算法和 Gabow 算法的过程中,原创 2015-12-26 15:13:13 · 634 阅读 · 0 评论