数据结构与算法
江小黑G
这个作者很懒,什么都没留下…
展开
-
java实现递归的几种经典案例(汉诺塔,求阶乘,最大公约数)
1.汉诺塔package com.ycit.recursion;/** * @author 江鹏飞 * 递归实现汉诺塔算法 */public class HanNoTa { int i = 1; public void hanNoTa(int n,char form,char dependOn,char to){ if(n==1){ move(1,form,to)...原创 2019-04-21 15:40:12 · 230 阅读 · 0 评论 -
java利用穷举的思想实现 泊松分酒算法
泊松分酒算法及实现思路package com.ycit.sharewine;/** * @author 江鹏飞 * 泊松分酒 * 1-->2-->3--1 * 如果第二个容器为空 ,将第一个容器的酒倒入第二个容器,再将第二个容器的酒倒入第三个容器,若第三个容器酒已倒满则倒入第一个容器 */public class ShareWine { //给定初始的容器大小...原创 2019-04-21 15:49:51 · 318 阅读 · 0 评论 -
java实现排序(二分法,选择排序,直接插入排序,冒泡排序,希尔排序)
二分法package com.ycit.sortSelect;/** * @author Administrator * 二分法排序 */public class BinaryInsertSort { public void sort(int a[]){ for(int i = 0;i<a.length;i++){ int left = 0; //left为有序数组...原创 2019-04-14 15:49:54 · 444 阅读 · 0 评论 -
java实现贪心算法(背包问题)
package com.ycit.greedypackage;import java.util.Arrays;public class GreedyPackage { private int MAX_WEIGHT=150; private int [] weights = new int[]{35,30,60,50,40,10,24}; private int [] values ...原创 2019-04-27 18:04:51 · 2759 阅读 · 0 评论 -
分治算法(循环赛事问题,L型棋盘问题)
循环赛事package com.ycit.sportsschedule;public class SportsSchedule { public void sportsSchedule(int n,int[][] tables){ if(n==1){ tables[0][0]=1; }else{ //填充左上角 int m = n/2; sportsSc...原创 2019-04-27 18:06:59 · 441 阅读 · 0 评论 -
java实现归并排序,快速排序
快速排序package com.ycit.sortSelect;/** * @author 江鹏飞 * 快速排序 * [11,4,3,6,5,8,7,12,9] * low high * 思路: * 1.找到一个基准元素进行比较 分别从后往前 从前往后 找到 中间的值middle 此时middle 的位置就是基准元素的位置 * 并且基准元素左边的所有...原创 2019-04-18 21:40:14 · 450 阅读 · 0 评论 -
java实现基数排序
package com.ycit.sortSelect;import java.util.ArrayList;import java.util.List;/** * @author 江鹏飞 * 基数排序 * 思路: 1.找到数组中的最大数 * 2.求最大数的位数 * 3.创建一个二维数组(一个数组嵌套十个数组) * 4.依次把 个位,十位,百位,数 放入相应的数...原创 2019-04-19 18:52:25 · 323 阅读 · 0 评论 -
java二分法查找(递归,非递归实现)
package com.ycit.search;import com.ycit.sortSelect.BasicSort;/** * @author 江鹏飞 * 二分查找 递归方式与非递归方式 */public class BinarySearch { //递归方式 public void binarySearch(int a[],int val,int low,int h...原创 2019-04-19 18:53:24 · 2036 阅读 · 0 评论