社区
C#
帖子详情
请教一个数据结构的简单问题。
康斯坦汀
2011-10-31 02:48:15
假设一个矩形的四个顶点是四个对象,如何做到,从一个顶点出发遍历一遍各个顶点?不同方向的(比如顺时针
和拟时针)这是链表问题么?如何设计一个顶点的属性?
就是一个顶点最小存储什么对象可以从不同角度遍历? 比如一个节点对象存储向右和向左的两个关联对象的信息?
然后传递到下一个对象如此遍历?
如果不是矩形而是多边形怎么办?
...全文
153
6
打赏
收藏
请教一个数据结构的简单问题。
假设一个矩形的四个顶点是四个对象,如何做到,从一个顶点出发遍历一遍各个顶点?不同方向的(比如顺时针 和拟时针)这是链表问题么?如何设计一个顶点的属性? 就是一个顶点最小存储什么对象可以从不同角度遍历? 比如一个节点对象存储向右和向左的两个关联对象的信息? 然后传递到下一个对象如此遍历? 如果不是矩形而是多边形怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaoyu821120
2011-10-31
打赏
举报
回复
这种问题,看下数据结构,《图论》,就知道了。如果没有记错,一共有两种。一种是稀疏矩阵,一种是链表。遍历就是bfs或者dfs。
康斯坦汀
2011-10-31
打赏
举报
回复
更正:如何从一个元件出发
康斯坦汀
2011-10-31
打赏
举报
回复
[Quote=引用 1 楼 sdl2005lyx 的回复:]
感觉这个问题有点怪怪的!楼主想做图形系统?还是。。。。
对于图形系统,矩形不会存4个顶点,存左上和右下两个点就够了!
多边形:存List<Point>,Draw是,序号n与n+1之间的画直线。。。
[/Quote]
确实是跟图形系统有关,描述的可能不是很清楚,只是以矩形为例子,
换种描述方法:
比如 一个图形系统,可以考虑成类似Visio,有很多元件,元件和元件之间
用连接线连接,一个元件可能跟多个元件连接,如果从一个元件出发,遍历所有跟它关联的
元件,要实现这种遍历,元件的属性应该定义什么?
刚看了些数据结构方面的东西,感觉数据结构中的“图”,貌似是解决该问题的,只是这块儿不熟。
欢迎大家继续讨论。。。
mikeowenlibo
2011-10-31
打赏
举报
回复
不同的方向可以理解为不同的排序方法,首先必须确定对象比较的含义,,比如说顶点,用2个坐标X,Y来描述.
顺时针排
int Compare(Object obj1,Object obj2){
if(obj1.x<obj2.x){return -1;}
else if(obj1.x>obj2.x){return 1;}
else if(obj1.x=obj2.x){
if(obj1.y<obj2.y){return -1;}else{return 1;}
}
}
逆时针
int Compare(Object obj1,Object obj2){
if(obj1.x<obj2.x){return 1;}
else if(obj1.x>obj2.x){return -1;}
else if(obj1.x=obj2.x){
if(obj1.y<obj2.y){return 1;}else{return -1;}
}
}
xiaoyu821120
2011-10-31
打赏
举报
回复
我想顶点属性不外乎,x,y坐标,最多加个编号,还有你说的顺时针,逆时针,相邻顶点。这是一种链式的数据结构。
简单点也可以就用个数组,数组下标就为编号,只需要保留x,y坐标就可以了。
sdl2005lyx
2011-10-31
打赏
举报
回复
感觉这个问题有点怪怪的!楼主想做图形系统?还是。。。。
对于图形系统,矩形不会存4个顶点,存左上和右下两个点就够了!
多边形:存List<Point>,Draw是,序号n与n+1之间的画直线。。。
十万字全网最全
数据结构
代码
本文代码实现基本按照《
数据结构
》课本目录顺序,外加大量的复杂算法实现,一篇文章足够。能换你
一个
收藏了吧?
数据结构
学习心得体会
时间转眼即逝,一转眼一学期的
数据结构
课就已经快要结束了,我对第一节课的时候老师向我们介绍云班课时的场景还历历在目,老师兴致勃勃的介绍着
数据结构
课的作用,重要性。老师每节课都充满活力让我们每节课都不好意思打盹。在学习这门课程以前,我觉得编程只要会
简单
的写代码就好了。然而实际上
数据结构
才是计算机界的大佬。着计算机应用领域的延伸与扩展,
数据结构
类的
问题
占据了现在计算机技术领域的大部分,数据元素之间的关系
十万字
数据结构
笔记
上次发操作系统笔记,很快浏览上万,这次
数据结构
比上次硬核的多哦,同样的会发超硬核代码,关注吧。
数据结构
和算法是人工智能的基石
▊《算法秘籍》王一博 著算法是编程的基石,开发的核心。本书包含55个二维码,300多分钟视频,100多个知识点,50多个示例,适合程序员、计算机专业相关师生,以及对算法感兴趣的读者。这是一本关于
数据结构
和算法的书,以Java为描述语言,介绍了计算机编程中常用的
数据结构
和算法。全书共13章,讲述了常见的
数据结构
、排序算法、位运算、树、递归、回溯算法、贪心算法、双指针和滑动窗口、BFS和DFS、前缀和、动态规划、并查集、其他经典算法等知识。
如何学好
数据结构
与算法
各说各的,讲算法设计时就假设你已经对
数据结构
了如指掌,还没有哪一本算法书很好的解决这两个困难,传统的算法书,大多注重内容的收录,但却忽视思维过程的展示,因此我们学习了经典的算法,却费解于算法设计的过程。遇到
一个
实际
问题
,通过
问题
分析,选择使用什么样的算法策略,基于这种算法策略选择什么样的
数据结构
,有时算法策略和
数据结构
的选择并不是唯一的,不同的算法策略和
数据结构
设计的算法,其复杂性是不同的。算法实现可以用任何语言,所以不必纠结是C,C++,Java,Python,更不必管严格的语法规则,除非你要上机调试。
C#
111,120
社区成员
642,537
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章