第二章作业心得

yamaforyou 2018-10-14 原文

第二章作业心得

第二章作业涵盖的知识点比较广,很多都在上个学期的数据结构课程上有讲过,所以说也是一次复习的机会。

首先想讲一下二分法的理解:

根据课堂学习的理解,就是给出定值K,然后与表中的中间元素进行关键字比较,若相等,中,则向右查找,直到找到关键词的我们则返回他的存储位置;如果不等的话,则如二分查找算法题位置。

包括后面第二课堂的实践报告中也会提及到二分法的运用。而本次作业中二分法的运用体现在第一题的寻找第K小的数上,首先定义了partition函数来实现了根据a[left]~a[right]中的某个元素x(如a[left])对a[left]~a[right]进行划分,划分后的x所在位置的左段全小于等于x,右段全大于等于x,同时利用x所在的位置还可以计算出x是这批数据按升非降序排列的第几个数。

int partition(int a[],int left, int right){
int x = a [left];

while (left <right )
{
while (left < right && a[right] >= x)
right–;
a [left] = a [right];

while (left<right &&a [left] <= x)
left++;
a[right] = a[left];
}
a[left]=x;
return left;
}

然后也写出了find函数来实现查找功能,最后则用main函数实现了他的定义功能。

int find(int a[], int left, int right, int k)
{
int pos = partition(a,left,right);

if (k -1 ==pos)
cout<<a[k-1];
else if (k-1<pos)
find(a,left,pos -1,k);
else
find(a,pos+1,right,k);
return 0;

 

}

 

int main()
{
int n, k;
cin >>n>>k;

int a[1000];
for(int i =0; i<n; i++)
cin >>a[i];
find(a,0,n-1,k);

return 0;
}

 

感觉从这次作业还是看出对于一些算法思想的理解还是比较陌生的,后面的算法学习设计到的不仅仅是编程能力的运用,还有一些数学理论以及思路构思的一些方面,所以我觉得课余还是需要多复习好数据结构的一些知识并且把编程能力提上去,这样才能减少在日后的算法学习上浪费而太多的时间在算法学习以外。

发表于 2018-10-14 23:01 landyama 阅读() 评论() 编辑 收藏

 

版权声明:本文为yamaforyou原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yamaforyou/p/9788659.html

第二章作业心得的更多相关文章

  1. 第二章作业心得

    对于二分法的理解: 二分搜索:如果是有序的,直接对半平比较;如果是无序的,要结合快排思想,找数组中任意数a(最 […]...

随机推荐

  1. linux系统中firewalld防火墙管理工具firewall-config(GUI图形用户界面)

    firewall-config是firewalld防火墙管理工具的GUI(图形用户界面)版本,几乎可以实现所有 […]...

  2. tomcat的配置使用详细版

    摘要: 开发者开发部署web应用时通常使用tomcat服务器,很多初学者只懂得在开发工具上配置,但离开了开发工 […]...

  3. 权重-主成分分析法(PCA)

    主成分分析(Principal Component Analysis, PCA),将多个变量通过线性变换以选出 […]...

  4. VS2010中dumpbin工具的使用

    Dependency Walker工具: 该工具用来查看dll依赖库和依赖库内的函数。 左上角:模块依赖树,表 […]...

  5. 记录一下git 的常用命令

    git 的常用用法 以后如果要写一个东西,最好先搭建一个本地仓库,用版本控制对其进行操作,可能一开始有一些麻烦 […]...

  6. 打造自己的Vue组件文档生成工具

    程序员最讨厌的两件事情,第一种是写文档,另一种是别人没有写文档。有没有直接根据vue组件生成文档的呢?当然是有 […]...

  7. vue插件开发流程详解-从开发到发布至npm(二)

      前记:上一篇 https://www.cnblogs.com/adouwt/p/9211003.html, […]...

  8. API免费接口大全

    各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的。 聚合数据提 […]...

展开目录

目录导航