受这篇文章《SQL,NoSQL以及数据库的实质》结尾处题目的启发,我尝试写了一个SQL版本的Dijkstra最短路径算法。算法描述如下:前提假设: Hive支持Stored Procedure 或者 Mysql支持Insert into、insert overwrite、create table as select操作 数据结构:Table meta_distances( src int, dst int, distance int) Table known_nodes( node int, distance int)Table unknown_nodes( node int, d...
#include<iostream>
using namespace std;
int bottom_up_cut_rod(int p[],int n,int &pos)
{int *r=new int[n+1];int *s=new int[n+1];for(int i=0;i<=n;++i)s[i]=0;for(int i=0;i<=n;++i)r[i]=0;for(int j=1;j<=n;++j){int q=-1;for(int i=1;i<=j;++i){//q=q>p[i]+r[j-i]?q:p[i]+r[j-i];if(q<p[i]+r[j-i]){q=p[i]+r[j-i];s[j]=i;}}r[j]=q;}pos=s[n];return r[n];
}
int main()
{const int size=10 ;int p[11]={0,1,5,8,9,10,17,1...
1、冒泡排序function bubble_sort($arr){$n = count($arr);for($i=0;$i<$n-1;$i++){for($j=$i+1;;$j<$n-$i;$j++){if($arr[$j]<$arr[$i]){$temp = $arr[$i];$arr[$i] = $arr[$j];$arr[$j] = $temp;}}}
} 原文:http://www.cnblogs.com/sunscheung/p/4717952.html
C版本(来自 最短路径算法—Dijkstra(迪杰斯特拉)算法分析与实现(C/C++)) 1/***************************************2* About: 有向图的Dijkstra算法实现3* Author: Tanky Woo4* Blog: www.WuTianQi.com5***************************************/ 6 7 #include <iostream>8usingnamespace std;9 10constint maxnum = 100;11constint maxint = 999999;12 13 14void Dijkstra(int n, int v, int *dist, int *prev, in...
之前写的不能比较类似于1.2和1.2这类版本现在可以支持这种两位的版本,以及支持版本长度不一致的版本,如1.2.3和1.2private boolean underFilterVersionV2(String version,String triggerVersion) { String[] versionArr = version.split("\\."); String[] triggerVersionArr = triggerVersion.split("\\."); for (int i = 0; i < version.length(); ) { if (Integer.parseInt(versionArr[i]) > Integer.parseInt(...
由于编者水平有限,如有错误,请多多包涵。/*File name: Stack.cppDescription: 栈的初始化,压栈,出栈,判断栈是否为空,清空栈。Author: Yang_JiangDate: 2018年10月11日Compiler:Visual Studio 2008
*/# include <stdio.h>
# include <stdlib.h>typedef struct Student
{int data; //数据域struct Student* pNext;// 指针域
}NODE,*PNODE;
// NODE 等价于 struct Student
// PNODE 等价于 struct Student*typedef struct Stack...
思路:1)将长网址md5生成32位签名串,分为4段, 每段8个字节;2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址;下面是PHP代码:function shorturl($url=, $prefix=, $suffix=) {$base32 = array (a, b, c, d, e, f, g...
思路:1)将长网址md5生成32位签名串,分为4段,每段8个字节;2)对这四段循环处理,取8个字节,将他看成16进制串与0x3fffffff(30位1)与操作,即超过30位的忽略处理;3)这30位分成6段,每5位的数字作为字母表的索引取得特定字符,依次进行获得6位字符串;4)总的md5串可以获得4个6位串;取里面的任意一个就可作为这个长url的短url地址;下面是PHP代码:function shorturl($url=, $prefix=, $suffix=) {$base32 = array (a, b, c,...
思路: 1)将长网址md5生成32位签名串,分为4段, 每段8个字节; 2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理; 3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串; 4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址; 下面是PHP代码: 代码如下:function shorturl($url=, $prefix=, $suffix=) { $base = array ( a, ...
PHP版本常用的排序算法汇总,//1、冒泡排序function bubble_sort($arr){$n = count($arr);for($i=0;$i<$n-1;$i++){for($j=$i+1;;$j<$n-$i;$j++){if($arr[$j]<$arr[$i]){$temp = $arr[$i];$arr[$i] = $arr[$j];$arr[$j] = $temp;}}}
}//2、归并排序
//merge函数将指定的两个有序数组(arr1arr2,)合并并且排序
//我们可以找到第三个数组,然后依次从两个数组的开始取数据哪个数据小就先取哪个的,然后删除掉刚刚取过///的数据
function ...
微博短链接算法php版本,微博算法php思路:1)将长网址md5生成32位签名串,分为4段, 每段8个字节;2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址;
下面是PHP代码:
function shorturl($url=, $prefix=, $suffix=) {...
Xxtea Xxtea算法 原文="你是我的,sdfsdfsdfasd,error\4&:1234/?.,\3&%$#@@"; 还原过的 =你是我的,sdfsdfsdfasd,error#4;&:1234/?.,#3;&%$#@@; 只要遇到 \3,就不行。还有个别的\4,5,6,7,8,9,有的能还原,有的不能。 网上的所有php版本的XXTea算法基本都测试过,全是同样的问题,很奇怪。有高手吗指点一二? $n)) return false; $n = $m; } $s = array (); for ($i = 0; $i = 2147483648) $n -= 4294967...
参考文档: http://blog.csdn.net/wangxiafghj/article/details/9014363geohash 算法原理及实现方式 http://blog.charlee.li/geohash-intro/ geohash:用字符串实现附近地点搜索 http://blog.sina.com.cn/s/blog_7c05385f0101eofb.html 查找附近点--Geohash方案讨论 http://www.wubiao.info/372 查找附近的xxx 球面距离以及Geohash方案探讨 http://en.wikipedia.org/wiki/Haversine_formula Haversine...
测试XXTea算法,网上没有一个php版本能还原我的字符串,太奇葩了。原文="你是我的,sdfsdfsdfasd,error\4&:1234/?.,\3&%$#@@";
还原过的 =你是我的,sdfsdfsdfasd,error#4;&:1234/?.,#3;&%$#@@;只要遇到 \3,就不行。还有个别的\4,5,6,7,8,9,有的能还原,有的不能。网上的所有php版本的XXTea算法基本都测试过,全是同样的问题,很奇怪。有高手吗指点一二?<?php
Class Xxtea {public function encrypt($s, $key) {return self :: xxte...
查找附近网点geohash算法及实现 (PHP版本)参考文档:http://blog.csdn.net/wangxiafghj/article/details/9014363geohash 算法原理及实现方式http://blog.charlee.li/geohash-intro/ geohash:用字符串实现附近地点搜索http://blog.sina.com.cn/s/blog_7c05385f0101eofb.html 查找附近点--Geohash方案讨论http://www.wubiao.info/372 查找附近的xxx 球面距离以及Geohash方案探讨http://en.wikipedia.org/wiki/Haversi...