文章分类 -  算法

摘要:代码实现: public class MergeSort { //归并排序 /* * 将两个已排序的数组,进行逐步对比,整合为一个有序的数组 * */ public static void process(int arr[],int L,int R){ if(arr==null || arr.len 阅读全文
posted @ 2024-04-01 10:40 dmfsimle 阅读(3) 评论(0) 推荐(0)
摘要:public class BinarySearch { //二分查找 public static void search(int[] arr,int target){ int left=0; int right=arr.length-1; int mid=0; while (left<=right) 阅读全文
posted @ 2024-03-29 10:27 dmfsimle 阅读(2) 评论(0) 推荐(0)
摘要:1.异或(相同为0,不同为1)的特点: a.0和任意数异或得到任意数 b.数值N和他自己异或,得到0 c.异或符合交换律和结合律(交换律:a^b=b^a 结合律:a^b^c=a^(b^c)) d.任意一组数,无论什么异或顺序,结果都一样(可通过结合律推导) 两道有关异或的题: 1)有一组数,其中一个 阅读全文
posted @ 2024-03-28 11:48 dmfsimle 阅读(11) 评论(0) 推荐(0)
摘要:插入排序,就像是手里抓了一把牌,拿到新牌之后,找到对应的位置,插入进去; 基本步骤为:每次挑选一个数,保证这个数之前的数是有序的,最终实现排序 注,每次达到对应数比前一个数大,就停止; 代码: package src; public class InsertionSort { //插入排序 publ 阅读全文
posted @ 2024-03-28 11:05 dmfsimle 阅读(4) 评论(0) 推荐(0)
摘要:步骤:按照数组顺序逐步交换不符合条件的数,最后达到排序的效果; 单词步骤如下: 这个步骤完成,就完成了1轮的排序;第一轮排序结束,0位置的数就是最小数,第二轮结束,1位置的数就是次小数,以此类推 第二轮排序则再来一遍,这样最终,就实现了排序 代码如下: package src; public cla 阅读全文
posted @ 2024-03-28 10:15 dmfsimle 阅读(2) 评论(0) 推荐(0)
摘要:package src; public class SelectSort { public static void swap1(int[] arr,int a,int b){ int temp=arr[a]; arr[a]=arr[b]; arr[b]=temp; } //因为是值拷贝,外面的数无法 阅读全文
posted @ 2024-03-28 09:46 dmfsimle 阅读(2) 评论(0) 推荐(0)