SAP ABAP 二分法查找(Sort Binary Search)究竟能不能使用降序

SAP ABAP 二分法查找(Sort Binary Search)究竟能不能使用降序

引言: Binary Search(二分查找),对排序数组通过二分区间排除的方法进行快速目标查找,是排序典型算法之一,同期还有冒泡排序等算法。二分法不仅在排序榜单中占据重要地位,在日常生活中也经常被采用以解决可序问题。那么SAP ABAP 二分法查找(Sort Binary Search)究竟能不能使用降序?

关键字:SAP ABAP Sort Binary Search 二分法查找 排序

文章目录

  • SAP ABAP 二分法查找(Sort Binary Search)究竟能不能使用降序
    • 1. ABAP中Binary Search能使用降序吗?
    • 2. ABAP kernal语言C/C++对二分法的实现
    • 3. 如果ABAP支持降序二分查找时的语法
    • 4. 小结
    • 其他


1. ABAP中Binary Search能使用降序吗?

  • 答案是:不能!
    这是ABAP语言本身限制的。
    ABAP中,仅支持Addition Binary Search,不支持Subtraction Binary Search。
    ABAP中,限定了key只能通过升序(默认排序)来进行二分查找。
    在abapdocu或SAP Help中都有明确说明,下面是我截取的部分abapdocu文档内容。
    SAP ABAP 二分法查找(Sort Binary Search)究竟能不能使用降序_第1张图片
    在截图中,除了对ABAP Binary Search进行了使用说明和注意事项外,还特别提出了几点值得大顾们注意的信息,例如,当存在多个查找目标时,返回最小index索引目标,这个特性通常用来内表判断某种排序条件下的最大最小值
    介于有官方说明,我们文章里不作任何的代码验证。

2. ABAP kernal语言C/C++对二分法的实现

来源摘抄,
SAP ABAP 二分法查找(Sort Binary Search)究竟能不能使用降序_第2张图片
每一种语言,都肩负着特殊的使命,在功能上进行取舍是再正常不过的事情。

3. 如果ABAP支持降序二分查找时的语法

原则上,只需要明确二分关键字的排序方式,就可以实现自由的二分法查找。

sort itab by f1 asc f2 desc.
read table itab with key f1 = f1 asc f2 = f2 desc binary search.

注意:以上纯属语言推理结果

4. 小结

ABAP不能使用降序二分查找。

  • 思维发散
    如果按照二分查找原理,只需要对查找的key进行排序即可,各key的升序或降序并不会影响查找结果。但是,未经限制的使用同时也会增加复杂度,可能也是这个原因使以应用编程为使命的ABAP语言约束了二分查找语法,并确立了ABAP独有的二分查找机制。

其他

我的微信群、QQ群和其他发布平台。

  • 关于微信群、QQ群和其他发布平台

长期提供开发和运维服务。

  • 关于提供开发和运维服务的详情

你可能感兴趣的:(SAP,ABAP,李斌的分享笔记本,SAP,ABAP,算法,数据结构)