写一个二分法的流程图
以下是一个二分法的流程图:
开始
输入一个有序数组和要查找的目标值
设定左边界为0,右边界为数组长度减1
循环直到左边界大于右边界:
计算中间索引值(left + right)/ 2
如果目标值等于数组中间值:
返回中间索引值
如果目标值小于数组中间值:
将右边界更新为中间索引值减1
如果目标值大于数组中间值:
将左边界更新为中间索引值加1
返回-1(表示目标值不在数组中)
结束
流程图如下所示:
┌───────┐
│ 开始 │
└───┬───┘
│
│ 输入数组和目标值
▼
┌───┴───┐
│ 初始化 │
└───┬───┘
│
│ 左边界 ≤ 右边界 ?
│
├─<───┐
│ │
│ │ 是
▼ │
┌───────┐ │
│ 查找 │ │
└───┬───┘ │
│ │
│ │
│ │
│ │
│ │
│ │
▼ │
┌───────┐ │
│ 返回 │ │
└─>─────┘ │
│ │
│ │ 否
▼ │
┌───────┐ │
│ 更新界 │ │
└───┬───┘ │
│ │
│ │
│ │
│ │
│ │
│ │
▼ │
┌───────┐ │
│ 查找 │ │
└─>─────┘ │
│ │
│ │
│ │
│ │
│ │
│ │
▼ │
┌───────┐ │
│ 返回 │ │
└─>─────┘ │
│ │
│ │
▼ │
┌───────┐ │
│ 结束 │ │
└───────┘ │
│
▼
原文地址: http://www.cveoy.top/t/topic/i6gt 著作权归作者所有。请勿转载和采集!