void select_sort(int a[],int n)//选择排序
{
//选择排序,每次选择最小的放在第一个位置,然后下次从第二个位置开始
for(i=0;i<n-1;++i)
{
j=i;//给下标放在一开始的位置
for(k=i+1;k<n;++k)
{
if(a[k]<a[j])
j=k;//找到最小值数的下标
}
if(j!=i)
{//把最小值所在下标的数,与每次一开始的第一个数做交换
int temp =a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
时间复杂度n(n-1)/2
冒泡排序
void bubble_sort(int a[],int n)
{
for(i=0,change=TRUE;i<n && change;++i)
{
change =FALSE;
for(j=i;j<n;++j)
{
if(a[i]>a[j])
{
int tem=a[i];
a[i]=a[j];
a[j]=t;
change=TRUE;//如果哪次没有发生交换,说明算法结束了
}
}
}
}
时间复杂度:O(n的2次方)
矩阵乘法操作
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
{
c[i,j]=0;
for(k=1;k<=n;++k)
c[i,j]+=a[i,k]*b[k,j];
}
基本操作:乘法
时间复杂度:O(n的3次方)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)