尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

经典算法:离散化的两种实现方式

经典算法:离散化的两种实现方式
📅 发布时间:2026/7/8 19:47:55

思路一:下标映射

如果将下标也一同排序,数据将是怎么的形式呢?

将下标和元素绑定后,有一个好处,对应每个元素能 O(1) 的找出该元素在原始数组中的位置。

因此,我们只需要顺序遍历排序后的元素,顺序的将原数组的值改为[0, n-1]的映射即可。

具体的我们可以如下操作:
  • 排序后的第 0 号元素 ---> 获取原数组 index1 ---> 将原数组的 1 号元素修改为 0
  • 排序后的第 1 号元素 ---> 获取原数组 index4 ---> 将原数组的 4 号元素修改为 1
  • 排序后的第 2 号元素 ---> 获取原数组 index2 ---> 将原数组的 2 号元素修改为 2
  • 排序后的第 3 号元素 ---> 获取原数组 index3 ---> 将原数组的 3 号元素修改为 3
  • 排序后的第 4 号元素 ---> 获取原数组 index0 ---> 将原数组的 0 号元素修改为 4

思路二:二分

其实这里的二分法回归本源也是基于下标映射的原理,只是实现是借助二分的形式。

在排序好的数组中对目标数值进行二分搜索,在O(logn)的时间复杂度内找到该数值是整体数据中的第几个。

具体的我们可以如下操作:
  • 数值 10 ---> 二分搜索 10 ---> 有序序列中第 4 位置
  • 数值 3 ---> 二分搜索 3 ---> 有序序列中第 0 位置
  • 数值 8 ---> 二分搜索 8 ---> 有序序列中第 9 位置
  • 数值 9 ---> 二分搜索 9 ---> 有序序列中第 3 位置
  • 数值 4 ---> 二分搜索 4 ---> 有序序列中第 1 位置

相关新闻

  • Redpill Recovery技术实现深度解析:跨平台Synology DSM引导架构设计
  • 智能体设计模式:并行化 Parallelization,让 Agent 同时干多件事
  • 3分钟成为浏览器资源捕获专家:猫抓Cat-Catch完全免费使用指南

最新新闻

  • SpringBoot+Vue 大学生选修选课系统管理平台源码【适合毕设/课设/学习】Java+MySQL
  • TongWeb 7.0 文件上传配置实战:Servlet 3.0 @MultipartConfig 与 Spring Boot 2.0+ 参数对比
  • AD7490与PIC18LF47K42信号采集系统设计与优化
  • APK安装器完全指南:在Windows上轻松安装安卓应用
  • 3分钟完成专业字幕制作:VideoSrt智能视频字幕生成工具完全攻略
  • 游戏隐身术:用Deceive掌控你的在线状态

日新闻

  • PROPKA 3深度解析:蛋白质pKa预测的实战指南与算法原理
  • 微信小程序 globalData 监听:基于 Object.defineProperty 的 3 种实现方案对比
  • MySQL 8.0 数据清洗实战:3类异常值识别与 UPDATE/DELETE 批量处理

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号