俩小时
高等数学网课
一小时
写高等数学作业
对于高等数学课后作业,真的感觉还是没那么简单,虽然看着视频一步一步地学习,但是在视频中这一步跳到下一步中间省了很多步骤,然后看的我就一脸茫然,然后就是自己一个人在那里边思考边照着老师来,当这一步与下一步之间有很多疑问的时候,就自己动手一步一步的去运算,,当然过程的确很慢。
做题的时候,有感觉自己就只知道开头,不知道结尾,然后又得回去看一下视频,难受,还好是上网课,看完之后还可以回头去看
作业提交截图
还有几个因为手机拍摄的超过文件大小了
二小时
离散数学
这节课讲了集合以及一些公式
上网课
疫情防控专讲
俩小时
学习大话数据结构
查找
1.顺序查找
这个比较简单,就是从头到尾遍历数组,遇到要查找的元素便break,并输出该位置
优点:代码简单容易理解
缺点:时间复杂度较高
2.二分查找
在有序数列中查找一个元素,可以先从中间开始查找,然后判断中点是否满足,若满足就停止,否则若大于目标元素,则丢弃后面一半的元素重新在前面半段查找,还是用这种方法,小于也一样
核心代码
int search(int a,int b,int key)
{
int start,end,mid;
start=a;
end=b;
while(start<=end)
{
mid=(start+end)/2;
if(a[mid]>key)
end=mid-1;
else
if(a[mid]<<key)
start=mid+1;
else
if(a[mid]==key)
break;
}
return mid;
}
还有一种是斐波拉契查找
这个就比较迷惑了,但是时间复杂度也比较低,不过理解起来可能没那么容易
核心代码
int Fibonacci_Search(int *a,int n,int key)
{
int low,high,,mid,i,k;
low=1;
high=n;
k=0;
while(n>F[k]-1)//这里的F数组是用来储存斐波拉契的数组
k++;
for(i=n;i<F[k]-1;i++)
a[i]=a[n];
while(low<=high)
{
mid=low+F[k-1]-1;
if(key<a[mid])//
{
high=mid-1;//最高下标调整到分隔下标
k=k-1;//斐波拉契数列下标减一位
}
else
if(key>a[mid])//若查找记录大于当前分割记录
{
low=mid+1;//最底下标调整到分隔下标mid+1处
k=k-2;//斐波那契数列下标减俩位
}
else
{
if(mid<=n)
return mid;/若相等,则说明mid即为查找的位置
else
return n;//若mid>n说明是补全数值,返回n
}
}
return 0;
}