java 线性回归算法_线性搜索或顺序搜索算法在Java中如何工作? 示例教程
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 線性回歸算法
總結
以上是生活随笔為你收集整理的java 线性回归算法_线性搜索或顺序搜索算法在Java中如何工作? 示例教程的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 对武则天的历史评价(简短概括后人对武则天
- 下一篇: 旧版手机如何变电脑系统(旧手机变成电脑)
