日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

线性搜索或顺序搜索算法在Java中如何工作? 示例教程

發布時間:2023/12/3 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线性搜索或顺序搜索算法在Java中如何工作? 示例教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我之前談到了二進制搜索算法的工作原理,并分享了在Java中實現二進制搜索的代碼。 在那篇文章中,有人問我是否還存在其他搜索算法? 如果數組中的元素未排序,又如何使用二進制搜索算法,該如何搜索呢? 為了回答他的問題,我提到了線性搜索算法,它是二進制搜索的前身。 通常,在二進制搜索算法之前進行講授,因為二進制搜索比線性搜索快 。 但是,沒關系,您仍然可以學習此有用的算法來搜索數組或鏈接列表中的項目。

線性搜索或順序搜索是一種用于在列表中查找特定值的方法,該方法包括以下步驟:一次檢查每個元素,然后依次檢查直到找到所需的元素。

線性搜索算法是最簡單的。 對于n個項目的列表,最好的情況是值等于列表的第一個元素,在這種情況下,只需要一個比較即可。 最壞的情況是該值不在列表中(或在列表末尾僅出現一次),在這種情況下,需要進行n次比較。

對于線性搜索,最壞的性能情況是它必須遍歷整個集合,這是因為該項目是最后一個項目,或者因為找不到該項目。

換句話說,如果您的集合中有N個項目,則找到主題的最壞情況是N次迭代。 用大O表示法是O(N)。 搜索速度隨著集合中項目的數量線性增長。 與二進制搜索算法不同,線性搜索不需要對集合進行排序。

順便說一句,如果您不熟悉像這樣的基本數據結構和算法,最好先學習一個合適的數據結構和算法課程,例如“ 數據結構和算法:使用Java深入學習” 。 這是學習Java編程語言的基本數據結構和算法的綜合資源。 它的價格也非常實惠,您只需在Udemy的月度銷售中花10美元即可購買。

這是我們的示例程序,用于在Java中實現順序搜索算法。 這是不言自明的,但是如果您對理解代碼的任何部分有任何疑問,請大喊大叫,我很樂意清除您的任何疑問。

您還可以閱讀《 Grokking算法 》一書,這是我最喜歡的一本書,旨在學習基礎數據結構和算法。 它有一整章關于線性搜索和二進制搜索,下面是一張圖,它很好地解釋了線性搜索和二進制搜索算法之間的區別。

您會看到線性搜索算法的原因,因為隨著數組大小或元素數量的增加,搜索速度越來越慢。

import java.util.Arrays; import java.util.Scanner; ? /** * Java program to implement linear search algorithm in Java. It's also known as * sequential search, because its sequentially search array for desired element. * It's best case performance is O(1), when number is located at first index of * array, in worst case it can take upto N array index access and N comparison. * In Big O notation, time complexity of linear search is O(n), where n is * number of elements in array. * * @author Javin */ public class LinearSearchDemo { ?public static void main(String args[]) { ?int [] primes = { 2 , 3 , 5 , 7 , 11 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 , 47 }; ?for ( int number : primes) { int index = linearSearch(primes, number); if (index != - 1 ) { System.out.printf( "'%d' is found at index '%d' %n" , number, index); } else { System.out.printf( "'%d' not found in array %n" , number, Arrays.toString(primes)); } } ?} ?/** * Search a number in array using linear search algorithm. It's one of the * simplest algorithm in programming world, which just require iterating * over array and comparing each element with desired one. Once found you * break the loop and return index of element. * * @param array * @param number * @return index of number in array, or -1 if not found */ public static int linearSearch( int [] array, int number) { for ( int i = 0 ; i < array.length; i++) { if (array[i] == number) { return i; } } return - 1 ; // Number not found in array } ? } ? Output: is found at index '0' is found at index '2' '0' '3' is found at index '1' is found at index '2' is found at index '5' '2' is found at index '3' is found at index '7' '3' is found at index '4' is found at index '11' '4' is found at index '12' is found at index '41' '12' is found at index '13' is found at index '43' '13' is found at index '14' is found at index '47' '14'

就是這樣
如何用Java實現線性搜索算法 。 它是您在計算機科學課上應學習的首批搜索算法之一。 老師和教授接下來解釋二進制搜索,但是您已經了解了。 沒關系,我們有很多排序算法供您參考,下面的文章將為您提供幫助。

如果您準備面試并提高您的數據結構和算法技能,則還可以查看以下資源以進行下一個準備:

進階學習

11個基本編碼面試問題 。 掌握編碼面試:數據結構和算法 摸索編碼面試:編碼問題的模式

其他
小號
您可能喜歡的搜索和排序算法教程

  • 如何在Java中實現插入排序算法? ( 教程 )
  • 如何在Java中將Quicksort算法應用到位? ( 教程 )
  • 如何在Java中實現冒泡排序算法? ( 教程 )
  • 比較和非比較排序算法之間的區別? ( 回答 )
  • 如何在Java中應用存儲桶排序? ( 教程 )
  • 如何實現無遞歸的Quicksort算法? ( 教程 )
  • 如何在Java中執行二進制搜索算法? ( 教程 )
  • 如何在總和等于k的數組中找到所有對( 解 )
  • 如何從Java中的數組中刪除重復項? ( 解決方案 )
  • 如何在不排序的情況下找到數組中最高有效和最小的數字? ( 解決方案 )
  • 如何從Java中未排序的數組中查找重復項? ( 解決方案 )
  • 如何在排序數組中找到一個缺失的數字? ( 解決方案 )
  • 如何從包含1到100的數組中查找缺失值? ( 解決方案 )
  • 如何計算Java中給定的二叉樹中葉節點的數量? ( 解決方案 )
  • 遞歸有序遍歷算法( 解決方案 )
  • 面試中的50多種數據結構和算法問題( 問題 )
  • 我最喜歡的免費課程,用于深入學習數據結構( FreeCodeCamp )
  • 如何從Java中的數組中刪除元素? ( 解決方案 )
  • 如何檢查數組是否包含特定值? ( 解決方案 )
  • 二叉樹中的迭代PreOrder遍歷( 解決方案 )
  • 面向程序員的10項免費數據結構和算法課程( 課程 )
  • 來自面試的100多種數據結構編碼問題( 問題 )

感謝您閱讀本文。 如果您喜歡這篇文章,請與您的朋友和同事分享。 如果您有任何問題或反饋,請留下筆記。

PS –如果您正在尋找一些免費算法課程以增進您對數據結構和算法的理解,那么您還應該檢查
關于Udemy的易于高級數據結構課程。 它是由Google軟件工程師和算法專家撰寫的,完全免費。

翻譯自: https://www.javacodegeeks.com/2020/02/how-linear-search-or-sequential-search-algorithms-works-in-java-example-tutorial.html

總結

以上是生活随笔為你收集整理的线性搜索或顺序搜索算法在Java中如何工作? 示例教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲人交配视频 | 麻豆视频免费入口 | 中文字幕在线观看第二页 | 五月天av影院 | 日本视频三区 | 日韩欧美在线第一页 | 色哟哟精品一区 | 熟女自拍一区 | 一区二区在线免费观看视频 | 91中文字幕在线播放 | 国产欧美亚洲一区 | 国产尤物视频在线观看 | 国产专区欧美专区 | 6080成人| 少妇久久久久久被弄到高潮 | 亚洲欧洲久久 | 精品三级av | 国产一区二区三区在线看 | 在线精品视频播放 | 欧美日韩成人一区二区 | 色窝窝无码一区二区三区成人网站 | 银杏av | 亚洲色图网友自拍 | 福利视频第一页 | 亚洲av无码国产综合专区 | 欧美色婷婷 | 一级空姐毛片 | 女人一区二区三区 | 婷婷色九月 | www.国产视频.com | 日韩在线第一区 | 成人性做爰aaa片免费看不忠 | 亚洲在线看 | 男女国产精品 | 一边摸一边做爽的视频17国产 | 亚洲一区二区三区电影在线观看 | 日日日操操操 | h无码动漫在线观看 | 色屁屁www影院免费观看入口 | 国语对白在线观看 | 天堂在线免费视频 | 日日夜夜网| 欧美成人第一页 | 色吧久久 | 人妻 丝袜美腿 中文字幕 | 雪花飘电影在线观看免费高清 | 伦伦影院午夜理论片 | 欧美日韩精品在线观看 | 浮力影院国产第一页 | 男女无遮挡免费视频 | 黄免费在线观看 | 国产欧美日韩精品在线观看 | 成人在线观 | 女人叫床高潮娇喘声录音mp3 | 国产精品福利在线观看 | 奇米视频在线 | 亚洲欧美日韩图片 | 熟女丝袜一区 | 日韩一级淫片 | av手机网站 | av日韩一区二区三区 | 亚洲欧美综合网 | 精射女上司 | 最新av免费 | 日韩中文字幕一区 | 人妻一区二区三区视频 | 免费黄色三级 | 日韩区一区二 | 麻豆传媒网站 | 欧美日韩一二三四区 | 欧美性视屏 | 免费搞黄网站 | 岛国精品资源网站 | 91黄色影视 | 日本一区视频在线播放 | 国产男女爽爽爽 | 国产一卡二卡在线 | 欧美日韩一区二区三区69堂 | 激情小说欧美色图 | 欧美一级欧美三级 | 日本a在线天堂 | 午夜在线一区 | 成年人黄色免费视频 | 亚洲天堂男人天堂 | 一区二区国产在线 | 91黄在线观看 | 青青草原伊人 | 青青草青娱乐 | 免费性视频 | 黄色最新网址 | 在线观看视频二区 | 国产探花精品一区二区 | 97超碰中文字幕 | 欧美日韩精品一区二区三区 | 男生插女生视频在线观看 | 色com| 97人妻人人澡人人爽人人精品 | 亚洲福利视频一区二区三区 | 精品国产人妻一区二区三区 |