查詢(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.編寫程式,進行測試,調整直至得到最終的解.尋求數學模型的實質是分析問題,從中提取操作的物件,並找出這些操作物件之間含有的關係,然後用數學的語言加以描述.資料結構...