算法学习笔记之折半查找
来源:互联网 发布:网络教育法学类本科 编辑:程序博客网 时间:2024/06/01 08:05
二分查找又称折半查找
优点:
比较次数少,查找速度快,平均性能好
缺点:
要求待查表为有序表,且插入删除困难。
因此,折半查找方法适用于不经常变动而查找频繁的有序列表。
折半查找流程:
首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。
应该是非常简单,直接上程序:
// 二分查找 //a[]:表示排好序的数组 //n:表示数组的长度 //key:查找的关键字 public static int binarySearch(int a[], int n, int key) { int low = 0; int high = n - 1; int mid; while (low <= high) { mid = (low + high) / 2; if (a[mid] == key) { return mid; } else if (key < a[mid]) { high = mid - 1; } else { low = mid + 1; } } return -1; }
这个就不演示了,不懂的可以回去试试,先用前面介绍过的排序算法,再折半查找。
1 0
- 算法学习笔记之折半查找
- 算法学习之折半查找
- 数据结构学习笔记之折半查找
- 查找算法之折半查找
- 查找算法之折半查找
- 查找算法之折半查找
- 查找算法之折半查找
- 【查找算法】之折半查找
- 二分法查找(折半查找)算法学习笔记
- 二分法查找(折半查找)算法学习笔记
- 折半查找算法学习初步
- java算法之折半查找
- 经典算法之折半查找
- java算法之折半查找
- 黑马程序员之数据结构学习笔记:折半查找
- 基础算法之五-查找: 折半查找
- 数据结构查找算法之折半查找
- 【Data_Structure笔记9】查找算法之【顺序查找和折半查找】
- nyoj646
- HD 1003 Max Sum (最大字段和问题)
- Volley框架封装Adapter用法总结
- Linux平台上搭建apache+tomcat负载均衡集群
- C语言中%d,%o,%f,%e,%x的意义
- 算法学习笔记之折半查找
- 简单贪吃蛇
- 什么是HTTP Headers
- 【Leetcode】:337. House Robber III 问题 in JAVA
- java开发环境的搭建
- Javascript 数组方法 some和filter
- 关于Java中抽象类和接口区别的总结
- ZOJ - 3878 Convert QWERTY to Dvorak (暴力)水&坑
- eclipse color theme 主题颜色