
算法学习
文章平均质量分 71
ZHY_ERIC
这个作者很懒,什么都没留下…
展开
-
汉诺塔问题(java)
有I、II、III三个底座,底座上面可以放盘子。 初始时, I座上有n个盘子,这些盘子大小各不相同,大盘子在下,小盘子在上,依次排列,如下图1所示。 要求将I座上n个盘子移至III座上,每次只能移动1个,并要求移动过程中保持小盘子在上,大盘子在下,可借座实现移动(不能放在别处或拿在手中)。 编程序输出移动步骤。...原创 2022-08-17 10:08:23 · 609 阅读 · 0 评论 -
07、荷兰国旗问题解题思路
前言 在快速排序中,一个比较核心的操作是partition,就是选中一个元素作为枢轴pivot,然后执行partition操作将数组元素分为三个部分<= pivot、=pivot和>=pivot,partition返回pivot的最终下标,然后再递归pivot左右两部分数组。问题:传统的partition每次只能确定一个元素的位置。这样存在的问题是,如果有很多重复的元素,显然是做了很多重复的比较工作。解决:荷兰国旗问题就是用于解决这个问题的,它的partition操作将数组分成...转载 2022-02-16 20:37:00 · 387 阅读 · 0 评论 -
06、小和问题
一、小和问题 1.1 问题简介 在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和。求一个数组 的小和。 例子:如数组[1,3,6,2,5] 1左边比1小的数,没有; 3左边比3小的数,1; 6左边比4小的数,1、3; 2左边比2小的数,1; 5左边比5小的数,1、3、2; 所以小和为1+1+3+1+1+3+2=12 1.2 思路 常规解法,进行两次...原创 2022-02-11 13:52:37 · 430 阅读 · 0 评论 -
05、归并排序及其复杂度分析
注:转载:图解排序算法(四)之归并排序 - dreamcatcher-cx - 博客园 作者:dreamcatcher-cx出处:<http://www.cnblogs.com/chengxiao/> 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在页面明显位置给出原文链接。 概念: 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略...转载 2022-02-11 12:29:29 · 503 阅读 · 0 评论 -
04、递归行为及递归行为时间复杂度
递归,master公式,原创 2022-02-11 11:58:32 · 286 阅读 · 0 评论 -
03、选择排序,插入排序算法图解及代码(java)
选择排序和插入排序图解及代码原创 2022-02-10 19:24:08 · 719 阅读 · 0 评论 -
02、对数器的概念及运用
对数器的概念和使用: 0,有一个你想要测的方法a。 1,实现一个绝对正确但是复杂度不好的方法b。 2,实现一个随机样本产生器。 3,实现比对的方法。 4,把方法a和方法b比对很多次来验证方法a是否正确。 5,如果有一个样本使得比对出错,打印样本分析是哪个方法出错。 6,当样本数量很多时比对测试依然正确,可以确定方法a已经正确。 我的理解是对数器是用常规正确的算法来检验新开发...原创 2022-02-10 18:04:22 · 112 阅读 · 0 评论 -
01、时间复杂度简介、冒泡算法图解及java程序
时间复杂度简介,冒泡排序图解,java代码原创 2022-02-10 17:47:47 · 150 阅读 · 0 评论