常用搜索算法 | JAVA
在Java中,顺序查找和哈希查找是两种常见的查找算法。
1. 顺序查找
顺序查找是一种基本的查找算法,它逐个遍历待查找的元素,直到找到目标元素或者遍历完所有元素。
下面是一个简单的顺序查找示例代码:
|
|
在这个示例中,我们定义了一个名为
sequentialSearch
的静态方法,它接受一个整数数组arr
和一个目标整数target
作为参数。
方法使用一个for
循环遍历数组中的每个元素,如果找到了目标元素,则返回该元素的索引。如果遍历完所有元素都没有找到目标元素,则返回-1。
2. 哈希查找
哈希查找是一种基于哈希表实现的查找算法。它将元素的关键字通过哈希函数转换为数组的索引,并使用该索引直接访问数组中的元素。
由于直接访问数组中的元素,所以哈希查找的时间复杂度通常为O(1)。
下面是一个简单的哈希查找示例代码:
|
|
在这个示例中,我们定义了一个名为
HashMap
的类,它实现了哈希表的存储和查找功能。
该类使用一个整数数组arr
来存储元素,并使用一个容量参数capacity
来指定数组的大小。
类中包含了一个put
方法用于存储元素,一个get
方法用于查找元素,以及一个hash
方法用于计算元素的索引。
在hash
方法中,我们使用了简单的取模运算作为哈希函数。
- 原文作者:Ethan
- 原文链接:https://zhangxingong.fun/post/search-in-java/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。