BINARY SEARCH 的一点说明
在sap 之abap语言中,有BINARY SEARCH这个查找条件。使用read table 来读取内表时,使用BINARY SEARCH可以大大的提高查找的效率,为什么呢?学过数据库的人会知道,“二分查找”法,其实这个BINARY SEARCH就是这样方法来查找的。书中也许会说,在使用BINARY SEARCH时,必须要先对内表排序,道理就是这样,因为我们知道,使用二分查找,一定要先排序,原因就是这些了。
在此说一下“二分查找”。(因为书上没讲,我就把自己所知道的,写出来吧)
假设:8 3 5 1 7 6 4 2 这样一个序列
我们想要使用二分查找的方法找到6。
1、排序(我们以从小到大为例)
排序后为 1 2 3 4 5 6 7 8
2、二分查找方法开始查找
第一次查找到4 和5 ,和6 比较,发现6>5,则在5和8之间查找。
第二次找到6和7,和6比较,发现6在6和7之间,并且等于6.
第三次,找出结果6.
我们发现用“二分查找”三次就找到了结果,如果一个一个的找,要找6次。
这就是“二分查找”的高效之处。
BINARY SEARCH 的一点说明的更多相关文章
- 关于binary search的一点解惑
在写binary search时对于mid的计算我最开始使用的是 mid = (low + high)/2; 后来看到在很多的实现为 mid = low + (high - low)/2; 想了一下两 ...
- [LeetCode] Verify Preorder Sequence in Binary Search Tree 验证二叉搜索树的先序序列
Given an array of numbers, verify whether it is the correct preorder traversal sequence of a binary ...
- Inorder Successor in Binary Search Tree
Given a binary search tree (See Definition) and a node in it, find the in-order successor of that no ...
- 【转】STL之二分查找 (Binary search in STL)
Section I正确区分不同的查找算法count,find,binary_search,lower_bound,upper_bound,equal_range 本文是对Effective STL第4 ...
- [LeetCode]题解(python):098 Validate Binary Search Tree
题目来源 https://leetcode.com/problems/validate-binary-search-tree/ Given a binary tree, determine if it ...
- LeetCode----Unique Binary Search Trees 2
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For e ...
- Binary Search
Binary Search [原文见:http://www.topcoder.com/tc?module=Static&d1=tuto ...
- leetcode面试准备:Lowest Common Ancestor of a Binary Search Tree & Binary Tree
leetcode面试准备:Lowest Common Ancestor of a Binary Search Tree & Binary Tree 1 题目 Binary Search Tre ...
- 九章算法系列(#2 Binary Search)-课堂笔记
前言 先说一些题外的东西吧.受到春跃大神的影响和启发,推荐了这个算法公开课给我,晚上睡觉前点开一看发现课还有两天要开始,本着要好好系统地学习一下算法,于是就爬起来拉上两个小伙伴组团报名了.今天听了第一 ...
随机推荐
- 【JAVA基础&Python】静态/非静态代码块
/* * * static静态代码块: * 调用静态属性的时候 对应类里面的静态代码块就会被直接执行 * 注意: 只会执行一次,只能调用类内静态结构的(方法/属性) * 作用: 初始化类的属性 * * ...
- 浅谈JAVA代码优化
JAVA代码的优化分为两个方面: 一.减小代码的体积.二.提高代码的执行效率. ============================================================ ...
- Javascript 根据文件名判断是否未图片
var isImage = (/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i).test(filename)
- xss未看完的文章
https://blog.csdn.net/fen0707/article/details/8596888 XSS介绍与攻击 http://xss.fbisb.com/w ...
- javaweb练手项目jsp+servlet简易购物车系统
简易购物车项目 这是一个用intellij IDEA做的简易的javaweb项目,开发环境使用的jdk1.8和tomcat8以及mysql数据库. 1.项目开发准备: 创建github仓库 项目框架搭 ...
- Linux-centos-64bit安装MySQL
1.下载mysql安装包到 /usr/local/soft [root@VM_0_9_centos ~]# cd /usr/local/soft[root@VM_0_9_centos soft]# w ...
- 聊两句XSS(跨站脚本攻击)
XSS(跨站脚本攻击),聊两句,五毛的. XSS的危害: 窃取Cookie,盗用用户身份信息 这玩意儿是大多数XSS的目标,也好解决,可以先治个标,直接设置HttpOnly=true ,即不允许客户端 ...
- Spring Boot使用Maven自定义打包方式
前言:本文将告诉你如何将程序Jar与与依赖Jar及配置文件分离打包,以下列举了两种不同Maven打包方式,其打包效果一致! 一.第一种Maven打包方式,将jar及resources下全部配置文件,拷 ...
- mysql免安装教程
1. 下载MySQL Community Server 5.6.13 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下,我的解压目录是: "D:\Prog ...
- 嵌入式LInux-让开发板访问外网-ping bad address baidu.com
我的嵌入式设备已经接入网络.能够ping局域网ip.可是为了实现能够ping通外网.比如 ping baidu.com 还是不行的. 当运行ping baidu.com这个命令时,提示 ping ba ...