数据结构c++ learing 、
什么是数据结构,
为什么要用
某个地区的四级成绩的查找 用折半查找算法
判定8枚硬币的真假 用的判定树的数据结构
架设电线干 在几个村庄之间怎么样使用使得代价最小, 这种是最小代价问题 使用到图的这种结构 图论 最小生成树算法
数据的逻辑结构:1.集合2. 线性结构3 .树形结构4 图状结构
二 ; 数据的存储结构
1.顺序结构 2 连接存储 3 索引存储。。。。 散列存储
注意算法设计的注意事项
时间复杂度
求两个N介方阵的乘的算法 C=A*B
#include < >
#definde n 100
void matrixMultiply(int A [N][N], int c [N][N])
{for(i=0;i<N;i++)
for(j=0;j<n;j=j++)
{ c[i][j]=0;
for(k=0;k<n;k++)
c[i][j]=c[i][j+A[i][k]*B[k][j]];//如矩阵的乘法 求出相对应的元素
}
}
递归算法的exmple
fact(int n)
{if(n<=1) return (1)
else return (n*fact(n-1)}
枚举例子:(有问题)
求Amxn中求i行最小值和j列最大的值 为举证a中的一个安点
void Saddle(int [][N],int m,int n)
{int i,j,k;
int B[n],c[m];
for(i=0;i<m;j++)
c[i]=A[i,0]; //把A行的第一个元素赋值个c[i]
for(j=1;j<n;j++)
if (c[i]>A[i,J]) // 以上的i行 for出i 行j 列的元素
C[i]=A[i,j] //比较出最小值、、
}
//求出每列的最大数
for(j=0;j<n;j++)
{B[J]=A[0,J]
for(i=1;i<m;i++)
if B[J]<B[i,j] B[j]=A[i][j]
}
//求出所有按点
for()
for()
if()
cout<<