社区
数据结构与算法
帖子详情
一个算法题,100分!!
littlebee
2003-11-29 09:18:03
题目是这样的:
给出平面上n个点,其坐标值为(xi,yi)(1<=i<=n), 其中
有m个不同的点(m<=n),试用一种算法最快的求出这m个点(m事先不知道)
n可能是很大的值(n >1000000),关键是效率。
...全文
40
4
打赏
收藏
一个算法题,100分!!
题目是这样的: 给出平面上n个点,其坐标值为(xi,yi)(1<=i<=n), 其中 有m个不同的点(m1000000),关键是效率。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
HUNTON
2003-11-29
打赏
举报
回复
二叉排序树应该是最快的了吧
SoftWare1999
2003-11-29
打赏
举报
回复
用排序2叉树实现。
短歌如风
2003-11-29
打赏
举报
回复
直接用BST或Hash用<x,y>作为关键字查找就行了,没有必要象楼上说用先用x然后再查找。我觉得用亚平衡的BST如RBTree会更好一些,可以直接用C++中的std::map<std::pair<double,double> >。不过如果自己实现的话用Hash写起来容易的多。
不过无论是用BST还是用Hash都更适应动态添加时的去重复。如果数据是事先准备好的,最好的方法其实是“排序——去重复”。排序时根据你的数据特点选择算法,可以用通用的O(N*LogN)的算法,或者在已知分散分布时用O(N)的基数排序。而去重复可以在O(N)时间内完成。事实上时间复杂度是与用BST一样的(当用通用排序算法时),但比用BST快。如果在C++中用时可以用std::sort和std::unique
wlpwind
2003-11-29
打赏
举报
回复
二叉排序树结合索引技术(或哈希方法)速度更快.
比如说:对x坐标每个范围内的点分别建立二叉树。这样可以根据x坐标先索引到相应的二叉树上,再查找。
用这两种技术还可以设计出更快的方法。
[最新答案V0.4版]微软等数据结构+
算法
面试
100
题
[第41-60
题
答案]
[第一部
分
]精选微软等公司数据结构+
算法
经典面试
100
题
[1-40
题
] http://download.csdn.net/source/27788523 [第二部
分
]精选微软等公司结构+
算法
面试
100
题
[前41-60
题
]: http://download.csdn.net/source/28117034 ...
微软面试
100
题
系列之高清完整版PDF文档[带目录+标签]by_July
### 微软面试
100
题
系列:涵盖的数据结构、
算法
与海量数据处理知识点解析 #### 一、概述 微软面试
100
题
系列是由知名博主July创作的一套旨在帮助求职者准备技术面试的资源。该系列包含了11篇文章,总共300多道面试
题
...
2020最新-精选基础
算法
100
题
(面试必备)
作为
一个
程序员,
算法
能力必不可少,虽然不一定是
算法
工程师,但是
算法
还是彰显着个人的编码能力,面试中也经常会被问到,甚至会被要求临场做
算法
题
,所以,还是好好积累吧。 个人其实对
算法
挺有兴趣的,从3月份...
【搞定
算法
】常见
算法
题
分
类总览
博主秋招提前批已拿百度、字节跳动、拼多多、顺丰等公司的offer,可加微信:...主要的
题
目来源自:剑指 Offer、LeetCode、左神
算法
、面试、笔试、面经等等。下面按照
分
类记录: 说明(个人见解): 一、标注说明 ...
算法
题
目录
刷一
题
了解一类
题
型,短时间速通ACM输入输出处理常规ACM模式输入输出处理对Java、JS、Python的控制台输入输出做了详细的介绍,以及难点,易错点总结ACM模式不定行输入处理策略技术面手撕
算法
题
技术面 - 手撕
算法
题
...
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章