当前位置: 首页 > ai >正文

2.凸包优化求解

1.减而治之(Decrease and Conquer)

插入排序

典型的减而治之算法就是插入排序方法

插入排序法: 在未排序中选择一个元素,插入到已经排序号的序列中

将凸包也采用减而治之的方法

2.In-Convex-Polygon Test

怎么判断引入的极点存在于多边形里面还是外面?

也就是需要区分出6,7,9 和 8。

判断上述的核心就是判断引入的点在凸包里面还是在外面

上述过程,先排序,再做二分算法,最后做In-Triangle test。

上述算法的问题:凸包并不是静态、一层不变的

如果采用插入排序法算法复杂度并不会降低,因为如果采用vector来存在,会存在失效的情况。实际情况复杂度还是n*n

还是采用朴素元素的方法

进而采用 to-left test 判断一个点是在内部还是外部,算法的复杂度是n*n

3.Support Line

如何将极点增加到现有的凸包上面去?

确定support line

st这一段就是Support Line/tangent

怎么确定s和t定点

4.Pattern Of Turns

s的特征:所有顶点都在它的左侧

t的特征:所有点点都在它的右侧

5.Exterior/Interior

6. Selection Sort与凸包

采用类似于选择排序算法的方式,用在凸包寻找极点,缩小查找的范围

如何在当前已有的极边查找下一个极点?

可以通过角度来确定下一个极点,但是这种做法并不明智。采用 to-left-test 更加机智

起始点如何确定?

lowest-then-leftmost。 高度最低,然后最左边的点

实现

确认起点

output Sensitivity

h代表在凸包上需要行驶的步数

http://www.xdnf.cn/news/343.html

相关文章:

  • Viewer.js的使用方法
  • JDBC 数据库连接全解析:从驱动配置到工具类封装
  • yolov8的数据处理lableimg的安装以及使用
  • 黑马商城(五)微服务保护和分布式事务
  • 【Linux篇】探索进程间通信:如何使用匿名管道构建高效的进程池
  • PHP实现简单的爬虫功能
  • 不规则曲面上两点距离求取
  • Replicate Python client
  • 中间件--ClickHouse-12--案例-1-日志分析和监控
  • Datawhale AI春训营学习笔记
  • 吴恩达强化学习复盘(2)K-Means初始化|K的选择|算法优化
  • 基于模板匹配的信用卡号码识别系统
  • Fastdata极数:全球AR/VR行业发展趋势报告2025
  • C#.net core部署IIS
  • 【愚公系列】《Python网络爬虫从入门到精通》056-Scrapy_Redis分布式爬虫(Scrapy-Redis 模块)
  • ai学习中收藏网址【1】
  • Nginx 文件上传大小限制及 `client_max_body_size` 最大值详解
  • C++ 基于多设计模式下的同步异步⽇志系统-1准备工作
  • 数据库表设计
  • C 语 言 --- 指 针 4(习 题)
  • 【java实现+4种变体完整例子】排序算法中【选择排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
  • 企业网站安装 SSL安装的必要性
  • Nvidia显卡架构演进
  • Shiro-550 动调分析与密钥正确性判断
  • PHP中的ReflectionClass讲解【详细版】
  • Git 版本控制工具
  • 每天五分钟深度学习PyTorch:0填充函数在搭建神经网络中的应用
  • Spring Boot 中基于 Reactor 的服务器端事件(SSE)推送机制实践
  • 成人大学报考-助你跨越信息鸿沟
  • Charles破解 激活码 Java