![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 55
反卷猫
一名杭漂的java工程师
展开
-
【数据结构与算法】二分查找之细节篇
你不知道的二分查找小细节二分查找改进代码递归运算非递归运算分析总结 二分查找 请看Java实现二分查找的递归与非递归 改进代码 递归运算 //二分查找的递归运算 public static int erFen(int nums[] , int leftIndex, int rightIndex, int target) { int left = leftIndex; int right = rightIndex; while(left <= right) { int mid = l原创 2022-01-05 16:55:38 · 207 阅读 · 0 评论 -
【数据结构与算法】Java实现汉诺塔的分治算法
今日算法 分治算法 分治算法的基本思想 是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。 当我们求解某些问题时,由于这些问题要处理的数据相当多,或求解过程相当复杂,使得直接求解法在时间上相当长,或者根本无法直接求出。对于这类问题,我们往往先把它分解成几个子问题,找到求出这几个子问题的解法后,再找到合适的方法,把它们组合成求整个问题的解法。如果这些子问题还较大,难以解决,可以再把它们原创 2021-12-15 19:41:28 · 796 阅读 · 0 评论 -
【数据结构与算法】Java实现递归与非递归的二分查找算法
最近准备刷题,所以就在复习算法。今天给大家带来的是用JAVA写二分查找的递归和非递归算法 我们先来了解一下二分查找 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 时间复杂度:折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是:(这里假设数组元素呈升序排列)将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x原创 2021-12-14 16:00:24 · 135 阅读 · 0 评论