一个数组保存了N个结构
2015-06-01 20:28
260 查看
一个数组保存了N个结构,每个结构保存了一个坐标,结构间的坐标都不相同,请问如何找到指定坐标的结构(除了遍历整个数组,是否有更好的办法)?
(要么预先排序,二分查找。要么哈希。hash的话,坐标(x,y)你可以当做一个2位数,写一个哈希函数,把(x,y)直接转成“(x,y)”作为key,默认用string比较。或如Edward
Lee所说,将坐标(x, y)作为 Hash 中的 key。例如(m, n),通过 (m,n) 和 (n, m) 两次查找看是否在 HashMap 中。也可以在保存时就规定 (x, y) , x < y ,在插入之前做个判断。)
说实话我还是理不清这思路。先放出来,自己丢个人。
(要么预先排序,二分查找。要么哈希。hash的话,坐标(x,y)你可以当做一个2位数,写一个哈希函数,把(x,y)直接转成“(x,y)”作为key,默认用string比较。或如Edward
Lee所说,将坐标(x, y)作为 Hash 中的 key。例如(m, n),通过 (m,n) 和 (n, m) 两次查找看是否在 HashMap 中。也可以在保存时就规定 (x, y) , x < y ,在插入之前做个判断。)
说实话我还是理不清这思路。先放出来,自己丢个人。
相关文章推荐
- Ansible-Tower快速入门-7.配置实时事件【翻译】
- beeframework开发笔记1
- 跟着实例学习ZooKeeper的用法: Leader选举
- centos下安装redis,并且设置自启动脚本
- Android---手动创建线程与GUI线程同步(三)
- Introduction to JavaScript
- linux实验二---fork()的用法,产生子进程
- 跟着实例学习ZooKeeper的用法: 缓存
- Linux系统学习第四章:文件压缩、打包与备份(一)压缩与打包:gzip、gcat、bzip2、bzcat、tar
- Asp.net MVC3 文本编辑器KindEditor使用及图片上传浏览
- 第十二周 阅读程序 虚基类 中的继承
- hiho一下 第四十八周 拓扑排序·二【拓扑排序的应用 + 静态数组 + 拓扑排序算法的时间优化】
- 跟着实例学习ZooKeeper的用法: 分布式锁
- Linux正则表达式-单词
- OpenGL之裁剪平面
- 2015第23周一SVN插件安装
- 使用Charles进行网络请求抓包解析
- RunTime类
- 跟着实例学习ZooKeeper的用法: 队列
- 集合框架