// roomage.cpp: 主项目文件。
#include "stdafx.h"
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
unsigned int sand(unsigned int (time(0) ) );
/* 按原理来说是可以运用递归实现的,貌似很复杂*/
//template<typename T>
struct room
{
int val;
struct room *east;//东
struct room *south;//南
struct room *west;//西
struct room *north;//北
struct room *up;//上
struct room *down;//下
struct room *seq;//顺时针方向
struct room *ant;//逆时针方向
};//定义一个节点
room* create(int num );
room* huge_create( int num, room* po );
//void out( room* ph );
int main(array<System::String ^> ^args)
{
cout<<"enter number of node on four direction "<<endl;
int num;
cin>>num;
room *po=create( num );
//cout<<sizeof(po)<<endl;//test
cout<<"enter number of node on level direction "<<endl;
int size;
cin>>size;
room* ph=huge_create( size, po );
//out( ph );
////这段测试代码证明返回结果正确,说明主链构建成功,子集上的顺逆互联构建成功
//cout<<ph->east->val<<endl;
//cout<<ph->east->up->val<<endl;
//cout<<ph->east->east->down->seq->ant->val<<endl;
//cout<<ph->east->east->down->down->west->val<<endl;// 这段代码证明下面标注的Bug在运行阶段的确出现
system("pause");
return 0;
}
room* create( int num ) //构建上下北南子集,顺逆方向互联
{
static room *p=new room;
p->val=1000;
p->east=p->south =p->west=p->north=p->up=p->down=p->ant=p->seq=NULL;
room *pu=p, *pd=p, *pn=p, *ps=p;
for ( int i=0; i<=num; ++i )
{
room *pu_tmp=new room; //up
pu_tmp->val=200+rand()%200;
pu->up=pu_tmp; pu_tmp->down=pu;
room *pd_tmp=new room;//down
pd_tmp->val=400+rand()%200;
pd->down=pd_tmp; pd_tmp->up=pd;
room *pn_tmp=new room;//north
pn_tmp->val=600+rand()%200;
pn->north=pn_tmp; pn_tmp->south=pn;
room *ps_tmp=new room;//south
ps_tmp->val=800+rand()%200;
ps->south =ps_tmp; ps_tmp->north=ps;
pu=pu->up; pd=pd->down; pn=pn->north; ps=ps->south;
pu->seq=pn; pn->ant=pu;//顺、逆时针方向互联
pn->seq=pd; pd->ant=pn;//顺、逆时针方向互联
pd->seq=ps; ps->ant=pd;//顺、逆时针方向互联
ps->seq=pu; pu->ant=ps;//顺、逆时针方向互联
}
return p;
}
room* huge_create( int size, room* po )
{ room *pf=po;
for ( int i=0; i<=size; ++i )//构建超集,将子集从东向西构建
{
room *pt=create( size );
//cout<<sizeof(pt)<<endl;//test
pf->west=pt; pt->east=pf;//将原超集最西边方向的个体子集与新建的子集用west指针互联
//这段代码出现Bug
room *pfu=pf->up, *pfd=pf->down, *pfn=pf->north, *pfs=pf->south;//上下北南方向
room *ptu=pt->up, *ptd=pt->down, *ptn=pt->north, *pts=pt->south;//上下北南方向
while ( pfu && pfd && pfn && pfs && ptu && ptd && ptn && pts ) //相邻的自己各节点东西互联
{
pfu->west=ptu; ptu->east=pfu;//东西方向互联(上)
pfd->west=ptd; ptd->east=pfd;//东西方向互联(下)
pfn->west=ptn; ptn->east=pfn;//东西方向互联(北)
pfs->west=pts; pts->east=pfs;//东西方向互联(南)
pfu=pfu->up; pfd=pfd->down;//指针上下移动
pfn=pfn->north; pfs=pfs->south;//指针南北移动
ptu=ptu->up; ptd=ptd->down;
ptn=ptn->north; pts=pts->south;
}//while
pf=pf->west;//从东向西构建
}//for
return pf;
}
//void out( room* ph )
//{
// while ( ph )
// {
// cout<<ph->val<<" ";
// ph=ph->east;
// }
//}
/*
//这也是一种思路
class Single
{
private:
room s_obj;
};
class Huge : public Single
{
};
*/说明: 结点包含平面的东南西北指针,和垂直于东南西北的上下指针,以及东南西北扩展上的顺逆时针方向互联。这样构建成一个子集,通过循环构建超集,并且子集之间的单个结点实现互联,形成建筑物的框架结构,由第一层,依次往上攀升。按说可以递归实现,我做成了循环实现。
相关推荐
告别以太网瓶颈:手把手教你为AI训练集群搭建InfiniBand网络(以NVIDIA DGX A100/H100为例)
本文详细指导如何为AI训练集群搭建InfiniBand网络,解决以太网瓶颈问题,特别针对NVIDIA DGX A100/H100系统。通过硬件选型、网络架构设计和性能调优,显著提升多机多卡训练效率,适用于大规模模型训练场景。
数据结构
数据结构 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。 数据:所有能被输入到计算机中,且能被计算机处理的符号的集合。是计算机操作的对象的总称。 数据元素:数据(集合)中的一个“个体”,数据及结构中讨论的基本单位 数据项:数据的不可分割的最小单位。一
糖尿病预测(深度学习pytorch实现-最新)
本次做的项目是糖尿病的预测,也是来自kaggle上面的一个小项目。根据一个人的怀孕次数、血糖、血压、皮肤厚度、胰岛素指标、身体质量指数、糖尿病谱系指数、年龄等身体参数来预测一个人是否患有糖尿病。
数据库管理系统的层次结构--数据存取层和缓冲区管理
一、数据库管理系统的层次结构之数据存取层 数据存取介于语言处理层和数据存储层之间。它向上提供单元组接口,即导航式的一次一个元组的存取操作;向下则以系统缓冲区的存储器接口作为实现基础。接口关系如下: 数据存储层所涉及的主要数据结构为逻辑数据记录、逻辑块、逻辑存取路径。 存取层的任务主要包括: 提供一次一个元组的查找、插入、删除、修改的等基本操作。 提供元组查找所循的存取路径以及对存取路径的维护操...
Fiddler抓包实战:5分钟搞定微信公众号历史消息接口分析(附完整Python代码)
本文详细介绍了如何使用Fiddler抓包工具逆向分析微信公众号历史消息接口,并提供完整的Python代码实现。从环境准备、动态参数捕获到商业级采集系统架构设计,全面解析了突破官方接口限制的技术方案,帮助开发者高效获取公众号文章数据。
STM32 Boot程序实战:从启动流程到安全跳转机制解析
本文深入解析STM32 Boot程序的核心作用与安全跳转机制,涵盖启动流程、内存管理、中断向量表重定向及固件验证等关键环节。通过实战案例分享如何实现可靠的固件升级与故障回退策略,避免设备变砖风险,提升嵌入式系统稳定性。
三维形体的数据结构(1)半边数据结构
这其实是我学习图形学以来第一次真正接触数据结构的一篇博客,除了之前用markdown写的那篇文章,那个就是入个小门。 为什么我开始接触数据机构,因为在我做第一次细分的时候就遇到了麻烦,比如DOO-SABIN细分,在每次细分的时候都需要知道这个点在哪个面上,这个点周围是哪几条边,如果按照点表边表面表,只能是按照顺序判断,这条边到了第几的位置,那么它就应该是那个点挨着的边。。这么搞显然。。 后来我
深入解析BlueZ5与D-Bus:Linux蓝牙开发实战指南
本文深入解析BlueZ5与D-Bus在Linux蓝牙开发中的核心应用,提供从环境搭建到实战开发的完整指南。通过详细代码示例和调试技巧,帮助开发者掌握蓝牙协议栈与D-Bus接口的交互方法,实现高效蓝牙设备管理与GATT服务开发。
findContours函数参数详解
注: 这篇文章用的OpenCV版本是2.4.10, 3以上的OpenCV版本相关函数可能有改动Opencv中通过使用findContours函数,简单几个的步骤就可以检测出物体的轮廓,很方便。这些准备继续探讨一下findContours方法中各参数的含义及用法,比如要求只检测最外层轮廓该怎么办?contours里边的数据结构是怎样的?hierarchy到底是什么鬼...
OpenClaw人人养虾:接入Matrix
Matrix 是一个开放的去中心化通讯协议(Decentralized Communication Protocol),任何人都可以搭建自己的 Homeserver(家服务器)并与全球 Matrix 网络互联。OpenClaw 通过 Matrix Client-Server API 实现接入。
制作一款精美的 Qt IFW 安装程序
对于 Qt IFW 来说,默认的安装界面并不吸引人。倘若要制作一款精美的安装程序,这显然是不够的,需要在此基础上进行一系列定制。
三维空间数据模型及结构
2.6 三维空间数据模型及结构 近几年,很多人都在致力于三维数据模型的研究,虽然有三维GIS系统问世,但其功能远远不能满足人们分析问题的需要。原因主要是三维GIS理论不成熟,其拓扑关系模型一直没有解决,另外三维基础上的数据量很大,很难建立一个有效的,易于编程实现的三维数据模型。尽管如此,本节仍将介绍当前在三维GIS上所采用的几种数据模型。 3D空间构模方法研究是目前3D GIS领域以及3D G
【AI for Medecine】吴恩达医学图像AI专项课程(诊断、预测、治疗)
近期需要简单了解AI4Science上的一些应用,看到吴恩达大佬的专项课程,于是开始来个“全面”的了解--医学人工智能(诊断、预测、治疗)。
利用体素的自相似性进行立体建模(完整版翻译)
Exploiting Self-Similarity in Geometry for Voxel Based Solid Modeling, Parker, E. , Udeshi, T. , Journal of Computing & InformationScience in Engineering, 2003,一篇经典论文的完整版翻译
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
MDX语言的数据结构
MDX是一种用于查询多维数据集的表达式语言,其主要应用于Microsoft SQL Server Analysis Services(SSAS)等OLAP平台。与SQL相比,MDX处理的是多维数据结构,允许用户进行复杂的数据分析,比如计算指标、跨维度进行聚合以及在多维数据集上执行切片和切块操作。与传统的关系型数据库不同,MDX的数据模型采用的是星型模式或雪花模式,这种模式允许数据在多个维度上进行组织和分析,形成一个以维度和度量为核心的立体数据视角。
廖雪峰Python教程[完整版]
廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白
清华大学团队用几何学提升AI视频理解能力
这个看似简单的问题,实际上揭示了当前视频检索技术的一个重大挑战。当我们面对复杂的层次化数据时,不必拘泥于传统的平面思维,而是可以借助数学的力量,在更高维度的空间中寻找更优雅的解决方案。目前我们在各大视频网站上搜索内容时,经常遇到这样的情况:搜索"如何包饺子",结果返回一个2小时的美食节目,而你真正需要的包饺子教程可能只是其中10分钟的内容。当学生搜索"二次函数的图像特征"时,系统不仅能找到相关的教学视频,还能理解这个查询与"抛物线"、"顶点"、"对称轴"等概念的层次关系,提供更全面而有针对性的学习材料。
什么是MDX
什么是MDX? 多维表达式MDX (MultiDimensional Expression)是为访问Analysis Services多维结构数据Cube所开发出来的语言。 功能非常强大,可用于定义Analysis Services 计算和安全规则。如同访问关系数据库必须使用SQL 语言一样,访问Cube这种多维分析结构,就必须使用MDX语言。MDX在语法上与SQL很相似,但它却具备处理一...
别再死记硬背了!用这4种图解法(树状/文氏/凹入/括号)彻底搞懂数据结构里的‘树’
本文介绍了四种图解法(树状、文氏、凹入、括号)帮助理解数据结构中的‘树’概念,特别适合视觉型学习者。通过图形化表示,可以直观掌握树的遍历(如先根遍历、后根遍历、层次遍历)和核心术语,提升学习效率和应用能力。
深入理解跳表:多层索引加速查找的经典实现
跳表是一种多层有序链表结构,通过建立多级索引实现高效查找,性能接近二分查找。底层为完整链表,上层为稀疏索引,类似"立体高速公路"。查询操作采用二分思想,从高层向底层逐步缩小范围。删除操作需处理各层节点关联。插入时随机决定索引层数,从最高层开始查找并逐层插入。相比红黑树等结构,跳表原理简单但效率相近,是典型的空间换时间策略。Redis等系统采用跳表实现有序集合,其随机化索引维护方式平衡了性能与实现复杂度。
MDX技术介绍
MDX技术介绍<o:p></o:p> 一、什么是MDX<o:p></o:p> 多维表达式MDX (MultiDimensional Expression)是为访问Analysis Services多维结构数据Cube所开发出来的语言。 功能非常强大,可用于定义Analysis Services 计算和安全规则。如同访问关系数据库必须使用SQL 语言一...
计算机组成原理知识图谱可视化:Qwen3辅助教学案例展示
本文介绍了如何利用星图GPU平台自动化部署🎨 Class Qwen3: 多模态对话视觉黑板报镜像,以辅助计算机组成原理教学。该平台能快速搭建环境,通过Qwen3大模型将抽象的CPU流水线、存储系统等复杂知识,自动转化为结构化的知识图谱描述,进而生成可交互的可视化图表,使教学与学习过程更加直观高效。
3D-Force-Graph 树状图可视化实现解析
3D-Force-Graph 是一个强大的三维力导向图可视化库,能够将复杂的关系网络以动态交互的方式呈现。本文将通过分析一个树状图(DAG)可视化示例,深入讲解如何利用该库实现层次化数据的3D展示。 ## 核心概念 ### 力导向图基础 力导向图是一种将节点和边模拟为物理系统的可视化方法,节点间存在斥力,边则产生引力,最终系统会达到一个平衡状态。3D-Force-Graph 在此基础上增加了Z...
无人机竞速行业基于HarmonyOS ArkTS API 24 ColorPalette 接口定义了颜色体系的结构,NavItem 接口定义了导航项的数据结构
在移动互联网与智能穿戴设备高度普及的今天,"习惯养成"已经从一个模糊的自我管理理念,演变为一个可量化、可追踪、可视化的数字化产品赛道。越来越多的人希望借助手中的智能终端,把"早起、冥想、阅读、运动"这些抽象的自律行为,转化为一条条清晰的数据曲线和一张张可触摸的打卡卡片。而鸿蒙生态(HarmonyOS)凭借其跨设备协同、分布式软总线以及声明式 UI 开发框架 ArkUI,为这类注重"轻量化交互 + 即时反馈"的生活方式类应用提供了极为理想的生长土壤。本应用正是一款面向"晨间场景"深度打磨的习惯追踪工具。它聚焦
3个颠覆性设计,让TreeSheets成为数据组织的终极解决方案
你是否曾经在Excel的二维表格中挣扎于复杂项目的层次关系?或者在思维导图中迷失于缺乏结构化的数据细节?传统工具总是在"结构化"与"灵活性"之间做出妥协,但这里有个颠覆性想法:如果有一种工具能同时拥有电子表格的数据处理能力和思维导图的层次结构,那会怎样? TreeSheets正是这样一个革命性的自由格式数据组织器,它通过创新的分层网格架构,彻底改变了我们组织和管理复杂信息的方式。不同于任何现有的
地图的构建方式
地图类型维度存储结构核心信息优点缺点典型应用2D均匀网格占据概率简单、成熟、高效仅限2D平面室内机器人导航2.5D均匀网格高度值比2D多地形信息无法表示悬空物无人车、野外机器人3D点列表3D点坐标构建简单、信息完整无结构、数据量大离线重建、可视化OctoMap3D八叉树占据概率稀疏、高效、带概率分辨率固定、不够精细无人机避障、机械臂3D哈希表+体素块SDF/颜色内存效率极高、实时实现复杂实时AR/VR重建TSDF3D。
一种可移除点云中动态目标的鲁棒方法
点击上方“3D视觉工坊”,选择“星标”干货第一时间送达摘要大家好,今天为大家带来的文章是Robust Method for Removing Dynamic Objects from ...
310



被折叠的 条评论
为什么被折叠?



