第二章作业心得

对于二分法的理解:

二分搜索:如果是有序的,直接对半平比较;如果是无序的,要结合快排思想,找数组中任意数a(最方便的应该是第一个或最后一个)当做标杆,让数组其他数字比较大小分为边,比较可以得出a是第几小的,之后再根据需要的,舍弃掉该舍弃的,保留该保留的。

二分排序:二分也可以延伸到多分去。其实快排、归并都有点类似,都是分块处理。

总而言之,二分有两个最明显的特点,首先是,问题规模会变小;其次,分完还可以根据具体题目的需要,快速淘汰出不符条件的对象。

第二章作业情况:

分析完题目,我们都有了大概的思路。第一题求第k小的值,先自定义一个函数,然后采用二分加快排的方法,将数组的第一个数当做标杆,进行比较,得出它是第x小的数,再讲x和k对比,x>k则在小于标杆的那一块递归调用,x=k直接得出答案,x<k就在大于标杆的那一块做递归。在算法理解这块我们没有什么问题,但是到了编程的时候就会有一些小细节上的忽略,导致进行了多次修改,本身我自己的问题也比较大,在编程上有一定的问题,最后还是完成了。

第二题,求逆序对的题目,对于我们来说难度比较大,进行讨论后,发现难以解决,就在网上找到了答案。但是后来我发觉找到的答案并不完全符合题目,所以第二题我还没有完全解答出来,在此进行讨论后觉得还是有些无法理解的问题,所以希望在课堂上老师有相应讲解。

posted @ 2018-10-14 14:08  浮云就是敷衍  阅读(79)  评论(0编辑  收藏  举报