美文网首页
数据结构-递归

数据结构-递归

作者: 半个橙子 | 来源:发表于2018-12-01 18:38 被阅读0次

二分法查找

package com.execlib.search;

/**
 * 二分法查找
 */
public class BinarySearch {
    public int search(int[] data,int key){
        return binarySearch(data,key,0,data.length-1);
    }

    public int binarySearch(int[] data,int key, int left, int right) {
        if (left>=right)
            return -1;
        int mid = (left+right)/2;
        if (data[mid]>key){
            right = mid-1;
        }else if (data[mid]<key){
            left = mid+1;
        }else {
            System.out.println("找到数据:index="+mid);
            return mid;
        }
        return binarySearch(data,key,left,right);
    }

    /**
     * 非递归形式二分查找
     * @param data
     * @param key
     * @return
     */
    public int binarySearchNoCycle(int[] data,int key) {
        int left = 0;
        int right = data.length-1;
        int mid = 0 ;
        while (left<=right){
            mid = (left+right)/2;
            if (data[mid]>key){
                right = mid-1;
            }else if (data[mid]<key){
                left = mid+1;
            }else {
                System.out.println("找到数据:index="+mid);
                return mid;
            }
        }
        return -1;
    }

}

相关文章

  • python数据结构教程 Day6

    python数据结构教程 Day6 本节重点 递归定义 递归调用的实现 简单递归的应用 一、递归 在python基...

  • 反转链表(java实现)

    链表反转 节点数据结构如下: 链表反转的两种方式:递归和非递归 递归方式如下: 非递归方式如下:

  • 递归的Java实现

    算法 数据结构——递归的运行机制:递归的微观解读 递归是一种应用非常广泛的算法(或者编程技巧)。递归求解问题的分解...

  • 二叉树的四种遍历方法

    二叉树的数据结构 1、前序遍历(递归) 2、中序遍历(递归) 3、后序遍历(递归) 4、层次遍历(队列)

  • 数据结构之二叉树

    数据结构之二叉树 递归构造二叉树 二叉树节点: 递归构造: 图示: 递归遍历 递归实现先序遍历 图示: 递归实现中...

  • 数据结构-树以及深度、广度优先遍历

    数据结构-树以及深度、广度优先遍历(递归和非递归,python实现)[https://www.cnblogs.co...

  • 文章列表

    基本数据结构 栈 队列 双端队列 无序链表 有序链表 递归 递归 搜索与排序 搜索

  • 数据结构之递归

    数据结构之递归 1.递归的概念 简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解...

  • 揭秘-栈和递归的关系

    我与数据结构有个约会,带你领略不一样的数据结构! /*栈最常见的应用就是递归,那么递归的实现机理是什么?他的优缺点...

  • 胡思乱想说递归-上

    原来在学习数据结构和算法的时候,学习到递归,当时觉得递归就是一种自己调用自己的方法嘛,只要控制好递归的结束条件就可...

网友评论

      本文标题:数据结构-递归

      本文链接:https://www.haomeiwen.com/subject/sqxkcqtx.html