從零單刷資料結構(Java描述)(四) 查詢

2021-09-20 06:41:32 字數 894 閱讀 7967

查詢(searching)就是根據給定的某個值,在查詢表中確定乙個其關鍵字等於給定值的資料元素(或記錄)。

(一)順序表查詢:從表的第乙個記錄開始依次往後,直到最後乙個記錄,查詢到的話返回,否則返回-1。

// 線性查詢,找到返回下標的索引值,否則返回-1

public static int arrsearch(int arr, int target)

} return index;

}

//測試**

public static void main(string args) ;

int res = arrsearch(arr, 1);

//返回5

system.out.println(res);

}

(二)有序表查詢:

折半查詢(二分查詢):線性表中的記錄有序,且採用順序儲存。基本思想是取中間值為比較物件,如果中間值等於被查詢值,則返回;如果中間值大於被查詢值,則在前半序列繼續二分查詢;如果中間值小於被查詢值,則在後半序列繼續二分查詢。

public static int bisearch(intarr,int target) 

else

mid=(begin+end)/2;

} return index;

}

//測試**

public static void main(string args) ;

int res=bisearch(arr, 4);

//返回3

system.out.println(res);

}

從零單刷資料結構(Java描述)(七) 單鏈表

單鏈表 對每個資料元素,存在乙個儲存資料元素資訊的域 資料域 乙個儲存直接後繼位置的域 指標域 的儲存映像稱為結點 node n個結點鏈結成乙個鍊錶,因為此鍊錶的每個結點中只包含乙個指標域,所以叫做單鏈表。手動實現乙個單鏈表 public class node 獲取結點中的資料 public int...

資料結構(java語言描述) 堆

堆是一棵完全二叉樹,堆的每個父節點的值都大於等於子節點的值。或者 我們用陣列來儲存二叉樹。public class maxheap extends comparable public maxheap public maxheap e arr 返回堆中的元素個數 public int size 返回乙...

資料結構之Java描述 序

一般來說,用計算機解決乙個具體問題時,大致需要經過下列幾個步驟 1.從具體問題中抽象出乙個適當的數學模型 2.設計乙個解此模型的演算法 3.編寫程式,進行測試,調整直至得到最終的解.尋求數學模型的實質是分析問題,從中提取操作的物件,並找出這些操作物件之間含有的關係,然後用數學的語言加以描述.資料結構...