1.今天在思考一个问题,技术与能力。技术可以通过学习而提升,但是能力想提升却比较难。
2.技术是最不值钱的东西,只要你愿意学,你智商正常,都是可以学会的。
3.程序员不应该重复造轮子当码农,要从程序中解脱出来,研究学习思想 。
4.想进大厂拿高薪 需要算法过硬。
开始讲讲算法吧:
数据结构:分为逻辑结构和物理结构。
逻辑结构:线性结构/树形结构/图形结构等
物理结构:顺序存储结构 链式存储结构
评估算法的优劣:时间复杂度,空间复杂度
没有循环结构,时间复杂度O(1);
n 维矩阵乘法:时间复杂度O(n^3);
- Mat operator*(Mat a,Mat b)
- {
- int i,j,k;
- Mat c;
- for (i=0;i<len;i++)
- {
- for (j=0;j<len;j++)
- {
- c.mat[i][j] = 0;
- for(k=0;k<len;k++)
- c.mat[i][j]+=(a.mat[i][k]*b.mat[k][j])%MOD;
- }
- }
- return c;
- }
二分查找:
public static int Search(int [] a, int num) {
int key = 0;
int low = 0;
int high = a.Length;
int mid = 0;
while (low < high) {
mid = (low + high) / 2;
if (a[mid] < num)
low = mid + 1;
else if (a[mid] > num)
high = mid - 1;
else
{
key = mid;
return key;
}
}
return key;
}
时间复杂度: