我有一个关于快速排序算法的问题。我实现了快速排序算法并进行播放。初始未排序数组中的元素是从一定范围内选择的随机数。我发现随机数范围会影响运行时间。例如,从范围(1-2000)中选择的1,000,000个随机数的运行时间需要40秒。如果从范围(1-10,000)中选择1,000,000,则需要9秒。但是我不知道该怎么解释。在课堂上,我们谈论枢轴值可以影响递归树的深度。
对于我的实现,选择数组的最后一个值作为枢轴值。我不使用随机方案来选择枢轴值。
int partition( vector<int> &vec, int p, int r) {
int x = vec[r];
int i = (p-1);
int j = p;
while(1) {
if (vec[j] <= x){
i = (i+1);
int temp = vec[j];
vec[j] = vec[i];
vec[i] = temp;
}
j=j+1;
if (j==r)
break;
}
int temp = vec[i+1];
vec[i+1] = vec[r];
vec[r] = temp;
return i+1;
}
void quicksort ( vector<int> &vec, int p, int r) {
if (p<r){
int q = partition(vec, p, r);
quicksort(vec, …Run Code Online (Sandbox Code Playgroud) 我对Python中的全局变量有疑问.代码如下.如果我在功能测试中不使用全局M,它会发出错误.但为什么它不显示字符串s的错误.我并未将其声明为全球性的.
global M
M = []
s = "abc"
def test():
### global M
print M
M.append(s)
Run Code Online (Sandbox Code Playgroud)
print M UnboundLocalError:赋值前引用的局部变量'M'
我想使用Blowfish哈希来哈希密码.
crypt() 在5.3之前的PHP版本中不支持它
我的PHP版本是5.2.14.我怎样才能使用Blowfish哈希?我可以使用PEAR Crypt_Blowfish吗?
我在双节点(A和B)集群上使用了cassandra 0.6.5 .
Hector在客户端使用.
一个节点在运行一段时间后A总是有too many open files exception.
我netstat在节点上运行.
它显示了很多CLOSE_WAITtcp连接.
这是例外的罪魁祸首.
但是,导致这么多CLOSE_WAIT连接的原因
是客户端Hector问题吗?
为什么其他节点B没有这个问题?
我想改变这个字符串
<p><b> hello world </b></p>. I am playing <b> python </b>
至:
<bold><bold>hello world </bold></bold>, I am playing <bold> python </bold>
我用了:
import re
pattern = re.compile(r'\<p>(.*?)\</p>|\<b>(.*?)\</b>')
print re.sub(pattern, r'<bold>\1</bold>', "<p><b>hello world</b></p>. I am playing <b> python</b>")
Run Code Online (Sandbox Code Playgroud)
它没有输出我想要的,它抱怨错误:无与伦比的组
它适用于这种情况:
re.sub(pattern, r'<bold>\1</bold>', "<p>hello world</p>. I am playing <p> python</p>")
Run Code Online (Sandbox Code Playgroud)
<bold> hello world </bold>.我在玩<bold> python</bold>