您好,登錄后才能下訂單哦!
本篇內容主要講解“javascript有哪些搜索算法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“javascript有哪些搜索算法”吧!
1、二分搜索,當一個集合被排序時,我們可以檢查我們的檢索值和中間項目。
并將我們想要的一半丟棄。事實上,我們的目標可以在對數時間和恒定空間中找到。
this.binarySerach= function(item){ this.quickSort(); //排序 var low= 0, high= array.length-1, mid, element; while( low<=high){ mid= Math.floor( (low+high)/2 ); element= array[mid]; if( element<item ){ low= mid+1; } else if( element>item){ high= mid-1; } else { return mid; } } return -1; };
2、二叉搜索樹,BST的創建發生在線時間和空間,但搜索需要一定的時間和空間。
另外一個排序集合的方法是生成一個二叉搜索樹(BST)。對于BST的搜索效率和二分搜索一樣高。用類似的方法,我們可以在每一次迭代中丟棄一半,我們知道不包含期望值的部分。實際上,另一個對集合進行排序的方法是按順序對樹木進行深度優先!
為了驗證二叉樹是否為BST,我們可以遞歸檢查每一個左子項是否總小于根(最大可能),每一個右子項總大于每一個根(最小可能)。需要線性時間和一定的空間。
到此,相信大家對“javascript有哪些搜索算法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。