前言
本文记录了算法的期末复习笔记 包括快速排序 合并排序 二分搜索 汉罗塔 最小公共子序列问题
提示:以下是本篇文章正文内容,下面案例可供参考
一、合并排序是什么?
合并排序是利用分治策略对n个元素进行排序的算法。基本思想是:将待排序元素分成大小大致相同的2个子集合,分别对两个子集合进行排序,最终将排序好的子集合合并成为所要求的排好序的集合。
二、代码段
package 算法期末复习;
public class mergeSort {
// 合并已经排好序的几个小分区 比较分区头部元素大小 谁大则放入第一位
// 这里是合并c中的元素到d数组中 c中[left,mid],[mid+1,right]
// left和right是用来后面定义左分区下标索引和右分区下标索引
public static void merge(Comparable c[],Comparable d[],int left,int right,int mid){
int i =left;
// 左小分区第一个元素下标索引
int m=mid;
// 左小分区最后一个元素下标
int j=mid+1;
// 右小分区第一个元素下标
// 右小分区第一个元素下标即是right
int k=left;
// 临时数组的第一个元素下标