设有已排序数据的关键字序列为:(2,6,15,25,35,50,60,77,80),请简述采用折半查找方法,从该数据序列中查找关键字为50的数据的过程。
时间: 2024-04-04 08:29:04 浏览: 86
采用折半查找和顺序查找来查找某个数
(0, 0, 0, 0.5);
}
.wx-address-book__modal-content {
background-color: #fff;
折半查找(二分查找)是一种高效的查找方法,可以在有序序列中快速 padding: 40px;
border-radius: 5px;
}
.wx-address-book__modal h2 {
font-size: 地查找到指定的元素。
以查找关键字为50的数据为例,具体过程如下24px;
font-weight: bold;
margin-bottom: 20px;
}
.wx-address-book__form-group {
margin-bottom::
1. 确定序列的中间位置,即 (0 + 8) / 2 = 4,取值为35。
2. 将查找的关键字50与序列中间位置的元素35进行比较,由于50 20px;
}
.wx-address-book__form-group--center {
display: flex;
flex-direction: row;
align-items: > 35,因此50必须在序列的后半部分。
3. 确定后半部分的中间 center;
justify-content: center;
}
.wx-address-book__form label {
font-weight: bold;
margin-right: 10px位置,即 (5 + 8) / 2 = 6,取值为60。
4. 将查找的关键;
}
.wx-address-book__form input {
padding: 5px;
margin-right: 10px;
border-radius: 字50与后半部分的中间位置的元素60进行比较,由于50 < 60,因此503px;
border: 1px solid #ccc;
}
.wx-address-book__submit-btn {
background-color: #007fff;
必须在序列的前半部分。
5. 确定前半部分的中间位置,即 (5 + color: #fff;
border-radius: 3px;
border: none;
padding: 5px 10px;
6) / 2 = 5,取值为50。
6. 将查找的关键字50与前半部分的中间位置的元素50进行比较,相等,找到了关键字为50的数据。
因此, cursor: pointer;
}
.wx-address-book__submit-btn:hover {
background-color: #0066cc;
}
.wx-address-book__cancel折半查找过程中一共进行了3次比较,查找的时间复杂度为 O(log2n)。
阅读全文