Technology sharing

[JavaScript Algorithmus] Inquisitio binarii: Celeriter locate elementum scopum

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Insert imaginem descriptionis hic

🔥 个人主页:blank carmen

Insert imaginem descriptionis hic

Insert imaginem descriptionis hic

Investigatio binarii efficax est algorithmus inquisitionis aptus ad scopum elementa celeriter collocandi in ordinatis vestimentis. Cum inquisitione lineari comparata, tempus multiplex inquisitionis binariae est O (n log) quae efficacior est. Hic articulus singillatim principium, exsecutionem et applicationem inquisitionis algorithmi binarii introducet.


1. Algorithmus principium

Investigatio binarii cito scopum elementum ponit per continuos spatium investigationis minuendo. Vestigia fundamentalia sunt haec:

  1. Inquisitionis initialis ambitus est index initium et finis index ordinata.
  2. Medium indicem computa.
  3. Elementum in medio indice cum scopo comparat elementum.
    • Si par, elementum scopum inveniatur et eius index redditur.
    • Si scopo elementum minor est quam elementum in medio indice, angusta investigationis range ad dimidium sinistrum.
    • Si scopo elementum maius est quam elementum in medio indice, angusta investigationis range ad dimidium dextrum.
  4. Gradus superiores iterare donec pervestigationis spatium vacuum sit vel elementum scopo inveniatur.


2. Algorithmus implementation

Talis est JavaScript exsequendi inquisitionis binarii:

/**
 * 二分查找算法
 * @param {number[]} arr - 有序数组
 * @param {number} target - 目标元素
 * @return {number} - 目标元素的索引,未找到返回 -1
 */
function binarySearch(arr, target) {
  let left = 0;
  let right = arr.length - 1;

  while (left <= right) {
    const mid = Math.floor((left + right) / 2);
    
    if (arr[mid] === target) {
      return mid; // 找到目标元素
    } else if (arr[mid] < target) {
      left = mid + 1; // 查找右半部分
    } else {
      right = mid - 1; // 查找左半部分
    }
  }

  return -1; // 未找到目标元素
}

// 示例
const arr = [1, 3, 5, 7, 9, 11, 13];
const target = 7;
const index = binarySearch(arr, target);
console.log(index); // 输出: 3
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

3. Application missionibus

  1. Iussit quaerere ordinata: ocius ordinata ordinata elementa locant.
  2. solve problems: Solebant quaestiones quaedam algorithmicae quae binarii inquisitionis requirunt, ut elementa in cacumine inveniendo ordinata sunt.
  3. Analysis: In analysi data, quaesitio binaria adhibetur ut cito locum cuiusdam pretii inveniat.

4. Optimization et expansion

  1. Recursive implementation: Praeter ad exsecutionem iterativam, investigatio binaria etiam recursive impleri potest.
/**
 * 递归实现二分查找算法
 * @param {number[]} arr - 有序数组
 * @param {number} target - 目标元素
 * @param {number} left - 左索引
 * @param {number} right - 右索引
 * @return {number} - 目标元素的索引,未找到返回 -1
 */
function binarySearchRecursive(arr, target, left = 0, right = arr.length - 1) {
  if (left > right) {
    return -1; // 未找到目标元素
  }

  const mid = Math.floor((left + right) / 2);

  if (arr[mid] === target) {
    return mid; // 找到目标元素
  } else if (arr[mid] < target) {
    return binarySearchRecursive(arr, target, mid + 1, right); // 查找右半部分
  } else {
    return binarySearchRecursive(arr, target, left, mid - 1); // 查找左半部分
  }
}

// 示例
const indexRecursive = binarySearchRecursive(arr, target);
console.log(indexRecursive); // 输出: 3
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  1. Reperio primum seu ultimum Eventum: Algorithmus cum inquisitione binaria extendi potest ad inveniendum positionem primi vel ultimi elementi scopo ordinato ordine.

5. Libri

Inquisitio binaria efficax est algorithmus inquisitionis quae celeriter scopum elementi in ordinata ordinate collocare potest, per continuum spatium investigationis minuens. Intellectus et dominatio algorithmus binarii inquisitionis magni momenti est ad solvendas multas difficultates practicas et progressionis optimizing effectus. Spero hunc articulum adiuvabit ut intellegas et inquisitionem binariam adhibeas.