查找-順序查找

參考:https://www.cnblogs.com/lsqin/p/9342929.html

順序查找

算法簡介

       順序查找又稱爲線性查找,是一種最簡單的查找方法。適用於線性表的順序存儲結構和鏈式存儲結構。該算法的時間複雜度爲O(n)。

基本思路

       從第一個元素m開始逐個與需要查找的元素x進行比較,當比較到元素值相同(即m=x)時返回元素m的下標,如果比較到最後都沒有找到,則返回-1。

優缺點

    缺點:是當n 很大時,平均查找長度較大,效率低;
    優點:是對錶中數據元素的存儲沒有要求。另外,對於線性鏈表,只能進行順序查找。

算法實現

/**
     * 順序查找
     * @param list
     * @param selectValue
     * @return
     */
    private static int select(List<Integer> list, int selectValue) {
        if (list == null || list.isEmpty()){
            return -1;
        }

        for(int i = 0;i < list.size(); i++) {
            if (selectValue == list.get(i)) {
                return i;
            }
        }

        return -1;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章