算法学习之分治---并归

简介: 算法学习之分治---并归
/**
 * @ClassName 并归排序
 * @Author ACER
 * @Description ToDo
 * @Date 2021/7/10 20:11
 * @Version 1.0
 **/
public class 并归排序 {
    public static void main(String[] args) {
        int [] a={1,5,1,3};
        int [] temp=new int[10];
        mergeSort(a,0,a.length-1,temp);
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]+" ");
        }
    }
    public static void mergeSort(int [] nums,int start,int end,int []temp){
        if (start<end){
            int mid=start+(end-start)/2;
            mergeSort(nums,start,mid,temp);
            mergeSort(nums,mid+1,end,temp);
            merge(nums,start,mid,end,temp);
        }
    }
    public static void merge(int[]nums,int start,int mid,int end,int[] temp){
       int p1=start;
       int p2=mid+1;
       int pb=0;
       while (p1<=mid&&p2<=end){
            if (nums[p1]>nums[p2]){
                temp[pb++]=nums[p2++];
            }else {
                temp[pb++]=nums[p1++];
            }
       }
       //剩下的有些还没拷贝到
        while (p1<=mid){
            temp[pb++]=nums[p1++];
        }
        while (p2<=end){
            temp[pb++]=nums[p2++];
        }
        for (int i = 0; i < end - start+1; i++) {
            nums[start+i]=temp[i];
        }
    }
}
相关文章
|
2天前
|
机器学习/深度学习 算法
应用规则学习算法识别有毒的蘑菇
应用规则学习算法识别有毒的蘑菇
|
4天前
|
并行计算 算法 索引
数据结构与算法 分治
数据结构与算法 分治
6 0
|
13天前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习专栏】关联规则学习:Apriori算法详解
【4月更文挑战第30天】Apriori算法是一种用于关联规则学习的经典算法,尤其适用于购物篮分析,以发现商品间的购买关联。该算法基于支持度和置信度指标,通过迭代生成频繁项集并提取满足阈值的规则。Python中可借助mlxtend库实现Apriori,例如处理购物篮数据,设置支持度和置信度阈值,找出相关规则。
|
13天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习算法的原理与应用
【4月更文挑战第30天】集成学习通过组合多个基学习器提升预测准确性,广泛应用于分类、回归等问题。主要步骤包括生成基学习器、训练和结合预测结果。算法类型有Bagging(如随机森林)、Boosting(如AdaBoost)和Stacking。Python中可使用scikit-learn实现,如示例代码展示的随机森林分类。集成学习能降低模型方差,缓解过拟合,提高预测性能。
|
15天前
|
算法 JavaScript
算法(分治、贪心、dp、回溯、分支限界)总结
算法(分治、贪心、dp、回溯、分支限界)总结
|
26天前
|
机器学习/深度学习 算法 前端开发
Scikit-learn进阶:探索集成学习算法
【4月更文挑战第17天】本文介绍了Scikit-learn中的集成学习算法,包括Bagging(如RandomForest)、Boosting(AdaBoost、GradientBoosting)和Stacking。通过结合多个学习器,集成学习能提高模型性能,减少偏差和方差。文中展示了如何使用Scikit-learn实现这些算法,并提供示例代码,帮助读者理解和应用集成学习提升模型预测准确性。
|
26天前
|
机器学习/深度学习 算法 Python
使用Python实现集成学习算法:Bagging与Boosting
使用Python实现集成学习算法:Bagging与Boosting
22 0
|
27天前
|
算法 安全 数据可视化
python关联规则学习:FP-Growth算法对药品进行“菜篮子”分析
python关联规则学习:FP-Growth算法对药品进行“菜篮子”分析
|
1月前
|
算法
【算法学习--字符串】(不含KMP算法)
【算法学习--字符串】(不含KMP算法)
|
2月前
|
机器学习/深度学习 算法 数据挖掘
什么是集成学习算法
什么是集成学习算法
36 0