![](https://img-blog.csdnimg.cn/20210117164737295.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法
算法算法算法算法算法算法算法算法算法算法
康世行
CSDN博客专家、华为云享专家、Java领域新星创作者
展开
-
组合的递归算法Java实现过程
一、无重复项的组合对于无重复项的组合问题的递归思路可从以下几个步骤入手(以数组为例,如对其他元素排列,将元素编号放入数组即可):以数组a[5]={1,2,3,4,5}为例,用C(5,num)表示从这5个数中选择num个数,求其所有的情况。首先要明确,求一组数的组合问题,元素是没有位置要求的,即对于C(5,3)的求解{1,2,3}和{3,2,1}是一种情况。因此,为了防止结果的多余项,必须保证在求解过程中,原数组的元素位置是固定的!1、选取一个元素,即求解C(5,1)时,按序号从数组中顺...原创 2021-05-27 12:55:00 · 2638 阅读 · 10 评论 -
动态规划-面试题 17.16:
按摩师一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。递归方法 :public static int rec_opt(int []arr,int i){ //递归终止的条件,意味着如果只能选第一个,那么最好的方法就是arr[0] if(i==0) return arr[0]; //处理特...原创 2021-05-23 15:15:50 · 2256 阅读 · 10 评论 -
希尔排序 --Java实现
一、排序思想 希尔排序(Shell’s Sort)是插入排序的一种,是直接插入排序算法的一种更高版本的改进版本。把记录按步长gap分组,对每组记录采用直接插入排序方法进行排序; 随着步长逐渐减小,所分成的组包含的记录越来越多; 当步长值减小到1时,整个数据合成一组,构成一组有序记录,完成排序;二、图解三、代码实现/** * 希尔排序演示 * @author ksh */public class ShellSort { public static v...原创 2021-05-15 17:59:10 · 2279 阅读 · 10 评论 -
Java实现二分查找(在1-100里找到目标值)
前言:二分查找(也是折半查找),是每次用目标值和一个有序数列的中间值对比。这样的话每次都可以抛弃一半,随之范围也会缩小一半。所以每一次都找中间值对比,范围也每次都缩小一半。直到对比出结果为止!例子:题目:使用随机数产生一个目标值(范围1-100):在一个有序数列1-100的数组里找到目标值。要求:循环次数不能超过10次实现分解:1 定义目标值(使用随机函数生成目标值范围:1-100) Random r=new Random();//产生随机数 //目标值原创 2020-05-25 17:55:28 · 3671 阅读 · 8 评论 -
数组---算法(选择,冒泡)排序
前言:最近正在研究vb的数组,正好数组这章涉及到了一点简单的排序。选择排序和冒泡排序,利用这两种排序方法。做一个把随机生成的10个数。按照从大到小排序,从小到大也可以。其实算法就是一个,解决问题的思想。如果类比到,数学里面的话。算法的抽象,就好比是函数y=f(x)。目录思想: (一)选择排序 (二)冒泡排序例子: 选择排序 对 1 8...原创 2019-07-20 20:16:48 · 1514 阅读 · 7 评论 -
数组——冒泡算法
前言:冒泡排序就是,每个元素之间进行两两的比较。如果要,按大到小进行排序。那就是,首先用第一个和第二个进行比较,符合条件调换位置。否则继续往下比较,每相邻的两个值进行比较。目录代码:结果:例子:对b = Array(1, 8, 7, 5, 9, 2, 4, 3, 0) 这个数组里指定的数字进行从大到小的排序。代码:通用 Dim p As String '用于输出...原创 2019-07-25 20:43:29 · 1604 阅读 · 9 评论 -
传智播客C#基础--冒泡排序--02
前言:冒泡排序就是,每个元素之间进行两两的比较(整体需要对比n-1轮)。如果要,按大到小进行排序。那就是,首先用第一个和第二个进行比较,符合条件调换位置。否则继续往下比较,每相邻的两个值进行比较。算法是一种解决问题的思想,不限定语言。在学习vb的时候我就以一下的例子,练习了下冒泡排序。vb做的冒泡连接如下:vb冒泡排序连接:https://blog.csdn.net/kangshihang19...原创 2019-10-02 20:03:58 · 1332 阅读 · 7 评论 -
冒泡算法--图解
原创 2019-10-04 18:41:25 · 1429 阅读 · 5 评论 -
传智播客C#基础--选择排序--03
选择排序就用这个整数数组,进行选择排序int[] number = { 2,5,6,1,9,6,2,0};概念:先假设第一个元素里面的数是最大的。然后用第一个元素里面的数和后面的每一个元素里的数做对比,符合你的要求就把里面的数值进行交换,交换完之后继续往后对比。按照从大到小排序,每轮对比完都会产生一个本轮最大的放到前面。代码://选择排序 int[] n...原创 2019-10-07 09:14:30 · 1362 阅读 · 6 评论