【高级算法设计与分析】实验1:分治算法解决凸包问题

devtools/2024/9/24 9:20:59/

实验一:分治算法

  1. 实验目的
    1、掌握分治算法的设计思想与方法,
    2、熟练使用高级编程语言实现分治算法
    3、通过对比简单算法以及不同的分治求解思想,理解算法复杂度。

  2. 实验学时
    4 学时。

  3. 实验问题
    求解凸包问题:输入是平面上 n 个点的集合 Q,凸包问题是要输出一个 Q 的凸包。其中,Q 的凸包是一个凸多边形 P,Q 中的点或者在 P 上或者在 P 中。(详情请见课件)。
    首先,实现点类并覆写方法,作为实验的基本支持工具。

    代表一个具有x和y坐标的二维点。属性:x (int): 点的x坐标。y (int): 点的y坐标。方法:__init__(self, x, y): 使用给定的x和y坐标初始化Point对象。__str__(self): 返回点的字符串表示形式,形如'(x, y)'。__hash__(self): 根据点的坐标计算哈希值。
    __lt__(self, other): 根据x坐标比较两个点的大小。X相同时,比较y。
    __eq__(self, other): 根据它们的x和y坐标比较两个点是否相等。__sub__(self, other): 计算两个点之间的欧氏距离。
    """
    class point:x, y = 0, 0def __init__(self, x, y):self.x, self.y = x, ydef __str__(self):return '(' + str(self.x) + ',' + str(self.y) + ')'def __hash__(self):return int(str(self.x) + str(self.y))def __lt__(self, other):return self.y < other.y if self.x == other.x else self.x < other.xdef __eq__(self, other):return self.x == other.x and self.y == other.ydef 

http://www.ppmy.cn/devtools/13184.html

相关文章

小程序AI智能名片S2B2C商城:AIGC系统赋能多元化应用场景新探索

随着人工智能技术的飞速发展&#xff0c;AIGC系统正逐渐渗透到各行各业&#xff0c;其中小程序AI智能名片S2B2C商城便是其应用的重要领域之一。AIGC系统以其强大的内容生成能力&#xff0c;为商城提供了更为丰富、个性化的内容体验&#xff0c;进一步推动了商城的数字化转型与升…

华火电燃灶:重拾烹饪艺术的黄金法则,打造家庭美食的温馨记忆

记得在饭店给客户人炒菜的时候&#xff0c;炉灶下的每一道菜都透着诱人的香气。无论是炒肉还是炖汤&#xff0c;那股鲜香总让人回味无穷。然而&#xff0c;回到家&#xff0c;用上自家的燃气灶&#xff0c;发现同样的食材、同样的配方&#xff0c;味道却平淡无奇&#xff0c;仿…

第七讲-流程挖掘(Process Mining)学习日志之α算法存在的问题

第七讲-流程挖掘&#xff08;Process Mining&#xff09;学习日志之α算法存在的问题 在现实中&#xff0c;我们往往不知道“真正的”模型是什么样的。事实上&#xff0c;不存在所谓描述一个过程的模型&#xff0c;在应用中可能同时存在多个模型(即同一件事情的不同视图),同时在…

数据结构练习-线性表定义与基本操作

----------------------------------------------------------------------------------------------------------------------------- 1. 线性表是( )。 A.一个有限序列&#xff0c;可以为空 B. 一个有限序列&#xff0c;不可以为空 C. 一个无限序列&#xff0c;可以为空…

unity的特性AttriBute详解

unity的特性AttriBute曾经令我大为头疼。因为不动使用的法则&#xff0c;但是教程都是直接就写&#xff0c;卡住就不能继续学下去。令我每一次看到&#xff0c;直接不敢看了。 今天使用文心一言搜索一番&#xff0c;发现&#xff0c;恐惧都是自己想象的&#xff0c;实际上这个…

广州大学《虚拟现实与游戏开发》实验报告一HTC-VR环境搭建与开发

广州大学学生实验报告 开课实验室&#xff1a; 学院 年级、专业、班 姓名 学号 实验课程名称 虚拟现实与游戏开发 成绩 实验项目名称 1. HTC-VR环境搭建与开发 指导老师 实验目的 HTC VIVE硬件安装虚拟现实开发环境搭建 3.熟悉虚拟现实硬件系统和…

C# Solidworks二次开发:比较两个solidworks文档属性相关API详解

大家好&#xff0c;今天要讲的文章是关于如何比较两个solidworks文档。 下面是API的介绍&#xff1a; &#xff08;1&#xff09;第一个为Close&#xff0c;这个API的含义为在比较solidworks文档以后执行必要的清理。下面是官方的具体解释&#xff1a; 其没有输入参数&#x…

Python 全栈体系【四阶】(三十四)

第五章 深度学习 六、PaddlePaddle 图像分类 4. 思路及实现 4.1 数据集介绍 来源&#xff1a;爬虫从百度图片搜索结果爬取 内容&#xff1a;包含 1036 张水果图片&#xff0c;共 5 个类别&#xff08;苹果 288 张、香蕉 275 张、葡萄 216 张、橙子 276 张、梨 251 张&#…