查找算法
有梦不难zj
这个作者很懒,什么都没留下…
展开
-
使用哈希表实现节点的相关操作
1.哈希表的优势 使用数组和链表实现,数组的每个元素是一个单链表2.代码实现1.数组节点package hashTable;import java.util.HashSet;public class EmployeeArray { private EmployeeLinked[] employeeLinked; // 管理链表的数组 private int size; // 链表的个数(数组长度) // 构造方法 public EmployeeArray原创 2020-08-08 08:29:17 · 476 阅读 · 1 评论 -
使用非递归实现黄金分割(斐波那契)查找算法
1.背景 此算法需要使用到斐波那契数列的性质,mid值为黄金分隔点2.公式 mid = low + f(k - 1) - 13.代码实现package feibonaci;import java.util.Arrays;import java.util.Scanner;/** * @program: 7.查找的相关操作 * @description: 斐波那契查找算法 * @author: Zhou Jian * @create: 2020-07-17 09:19 */原创 2020-08-08 08:24:07 · 104 阅读 · 0 评论 -
使用递归实现插值查找算法
1.二分查找的问题 查找效率不高,当数据量很大时,查找速度慢2.适用范围 数据均匀分布,且数据量偏大3.改进 主要是对中间值的计算进行改进4.代码实现package insertSearch;import java.util.Arrays;import java.util.Scanner;/** * @program: 7.查找的相关操作 * @description: 主方法 * @author: Zhou Jian * @create: 2020-07-16原创 2020-08-07 17:43:38 · 205 阅读 · 0 评论 -
使用递归实现二分查找算法(查找多个值的索引)
1.设计思路 当找到第一个满足条件时,向左遍历,找到满足条件的就添加到集合;然后将mid添加;最后向右遍历,找到满足条件的就添加到集合;最后返回这个集合。2.代码实现package binarySearchManyNumber;import java.util.ArrayList;import java.util.Scanner;public class main { public static void main(String[] args) { Scanne原创 2020-08-07 17:34:08 · 556 阅读 · 0 评论 -
使用递归实现二分查找算法(查找一个值的索引)
1.前提 查找的序列必须是有序的代码实现package binarySearch;import java.util.Scanner;/** * @program: 7.查找的相关操作 * @description: 主方法 * @author: Zhou Jian * @create: 2020-07-16 16:37 */public class main { public static void main(String[] args) { Scanne原创 2020-08-07 17:32:18 · 371 阅读 · 0 评论