java归并排序随机数_GitHub - GitHub121380/Homework-AlgorithmAnalysis: 用来存储每次算法的作业代码...

这学期的算法作业就存这里面吧

里面都是代码,有些穿插了注释

但是想看完整的讲解还是去我的博客找吧

2020/3/6

更新Node类

新增getReciprocal方法 求单链表中倒数第n个结点

2020/3/7

更新BrokenKeyboard类

悲剧的文本

你有一个破损的键盘。键盘上所有的键都可以正常工作,但有时候Home键或者End键会自动按下。

你并不知道键盘存在这一问题,而是专心打稿子,甚至连显示器都没打开。当你打开显示器后,

展现在你面前的是一段悲剧文本。你的任务是在打开显示器之前计算出这段悲剧文本。

输入包含多组数据。每组数据占一行,包含不超过100000个字母、下划线、字符“【”或者“】”。

其中字符“【”表示Home键,“】”表示End键。输入结束标志为文件结束符(EOF)。输入文件不超过5MB。

对于每组数据,输出一行,即屏幕上的悲剧文本。

更新RotateString类。

给定两个字符串s1和s2,要求判断s2是否能够被通过s1做循环移位(rotate)得到的字符串包含。

例如,S1=AABCD和s2=CDAA,返回true;给定s1=ABCD和s2=ACBD,返回false。

2020/3/8

更新IntegerDivision类

更新HanoiImpl类

汉诺塔问题

2020/3/11

更新BinarySearch类

递归与非递归的二分查找

2020/3/13

更新SearchNumbers类

寻找一个数组中最大数、最小数、第二大数、第k小数

我着实没看懂这道题 是一个方法实现还是分别几个方法,我就按照后者吧

棋盘覆盖问题

在一个2^k^×2^k^(k≥0)个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为特殊方格。显然,特殊方格在棋盘中可能出现的位置有4^k^种,因而有4^k^种不同的棋盘。

在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠。

用到多少个L型骨牌

具体的覆盖情况

分治情况

31481f2f36a5349887a4fee8d91ebe65.png

2020/3/14

更新BigInteger类multiply递归方法(乘法)

更新了StrassenMutipleMatrix类 矩阵相乘递归实现

2020/3/17

更新MergeSort归并排序的递归和非递归

2020/3/19

更新QuickSort随机数元素快速排序的递归

2020/3/20

更新QuickSort快排非递归

2020/3/21

更新自然归并排序和正常递归快排

2020/3/26

更新LinearSelect线性时间选择的第一种——随机元素为基准的线性时间选择

2020/3/27

更新LinearSelect线性时间选择的第二种——利用中位数线性时间选择

2020/3/28

更新ShortestDis类 给定平面上N个点的坐标,找出距离最近的两个点

分治

2020/4/14

更新Fibonacci类的两种动态规划方法 分别为自底向上和自顶向下

2020/4/17

更新LCS类,求解两个字符串的最大公共子序列长度和最大公共子序列(有瑕疵,目前只能输出一个最大公共子序列)

2020/4/22

更新MatrixMultiply矩阵连乘类,更新递归方法和自顶向下的动态规划方法

2020/4/24

更新MatrixMultiply矩阵连乘类的自底向上动态规划方法

2020/4/29

更新最短路径问题中的Dijkstra方法

2020/4/30

更新BestTriangleDivide类——凸多边形最优三角剖分

2020/5/7

更新PackageProblem中的01背包问题

2020/5/9

更新PolygonGame多边形游戏问题

2020/5/22

更新MaxChildParaSum最大子段和及序列的问题

dp[i] = max{ dp[i-1] + A[i] , A[i] }

(正数+正数肯定更大,正数+负数也一定比Ai大,负数+正数/负数+负数那肯定Ai更大,因此选择Ai这种情况只是为了防止负数越加越大的情况,及时止损重新开始一个子段)

每次得到的dpi都和max比较,取最大的值作max

上一位的子段和加自己 如果加出来的和还没自己大,那说明自己要重开一个子段,自己做子段的第一个元素

2020/5/23

更新ImageCompress图像压缩问题

2020/5/24

今天爆肝更新

更新DianLuBuXian类 电路布线问题

更新Johnson类 流水作业调度问题

更新BestBinarySearchTree类 最优二叉搜索树

2020/6/5

更新ActivityArrangement类活动选择问题 选结束时间最早的

2020/6/7

更新HuffmanGreedy类哈夫曼树的贪心

2020/6/10

更新NormalPackageProblem类一般背包问题

2020/6/11

更新TaskDispatch任务调度类 优先选择短任务

问题:有n项任务,每项任务加工时间已知,从0时刻开始陆续安排到一台机器上加工,

每个任务的完成时间是从 0 时刻到任务加工截止的时间。

求:总完成时间 最短的安排方案(所有任务完成时间之和)。

2020/6/12

更新Kruskal算法 最小生成树

2020/6/13

更新Prim算法 最小生成树

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值