草庐IT

php - 优化树状控制结构

我必须根据用户输入创建报告。用户回答一个问题,然后根据我在树状结构中向左或向右移动的答案,提出一个新问题。一些节点将有相同的问题,但不同的child。我不确定在代码可读性方面最好的方法是什么?我想避免巨大的控制结构,因为它会非常不可读,像这样:if(){if(){if(){if(){...}}else{if(){...}}}else{...}}else{if(){if(){if(){...}}else{if(){...}}}}有没有更好的方法来处理它?这是我的树的样子的图片 最佳答案 将树存储为数据,这样您的代码就可以非常小。如果我

c++ - 为什么要用树状数据结构来表示文字冒险游戏中的数据?

作为我的C++模块的作业,我必须构建一个文字冒险游戏。我面临的问题是概念性的;每个人都在说我应该使用树数据结构来表示我的游戏。我不明白的是为什么。假设我有一栋有4个房间的房子。我们可以将其想象成一个2x2数组。在每个房间里我都有两个对象。我想以这样一种方式显示这些数据,即我可以轻松地将我的角色从0x0移动到0x1(直接–1步,或间接–3步),同时随身携带一个物体。为什么使用树来保存所有数据更好,我的角色如何从一个节点移动到另一个节点?或者角色也是一个节点?我的角色不应该是一个以列表作为list的对象吗?我对此有点困惑。我不是在寻找任何代码,只是为了更好地理解数据表示和操作。建议是针对m

mysql - 树状分类系统的数据库设计

我正在使用邻接列表模型来创建类别,而且效果很好。当检索某个类别(例如电子产品)中的文章时,我还想检索子类别中的文章(例如电子产品->相机,甚至电子产品->相机->相机镜头)。我现在的做法是从数据库中提取电子产品子类别的所有类别ID,并在此列表中找到所有具有category_id的文章。在我看来,这似乎非常低效且耗时,因为这可能会导致许多查询来检索这些子类别。我想到的另一种方法是让每篇文章都与整个类别树相关联(例如,一篇关于相机镜头的文章也将与MANY_MANY表中的相机和电子产品类别相关联),当我检索所有文章时electronics它也会出现。虽然这会向数据库添加大量冗余数据,因为我可

ios - 如何通过 Alamofire 递归获取树状结构的数据?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion我在我的应用程序中使用Alamofire进行API请求。一个用例要求我递归地获取家谱的家谱数据,以便初始api调用检索单亲(家族中最年长的成员)的数据。返回的数据将包含家谱中下一代人的数组以及之后的一代&看起来像这样,即parent-[儿子]-[孙子]。我现在需要为每个儿子和孙子获取数据,依此类推,数据总是嵌套2层深,直到家谱树耗尽。我一直在思考使用Alamofire实现这种递归API获取的方法:(我怎样

java - 如何根据值对树状图进行排序?

如何使用值而不是键对树状图进行排序? 最佳答案 解决方法:publicstatic>MapsortByValues(finalMapmap){ComparatorvalueComparator=newComparator(){publicintcompare(Kk1,Kk2){intcompare=map.get(k2).compareTo(map.get(k1));if(compare==0)return1;elsereturncompare;}};MapsortedByValues=newTreeMap(valueCompara

java - 如何以相反的顺序打印树状图

在我的作业中,我们从文件中读取文本:Tobe,ornottobe:thatisthequestion:Whether'tisnoblerinthemindtosuffer然后计算每个出现的次数。我已经能够打印这张未排序的map,然后我能够制作一个TreeMap并按自然顺序打印它(如下所示)。我不知道如何以相反的顺序打印。我知道一种使用比较器的方法,但我有点生疏,所以我已经尽力了。此外,我不知道如何设置比较器以将Treemap排序为相反的顺序。这是我打印未排序和自然排序的方法:privatestaticvoidsortPrintFrequencies(Mapvocabulary,Prin

python - 距离矩阵的树状图或其他图

我要比较三个矩阵。他们每个人都是5x6。我最初想使用层次聚类来对矩阵进行聚类,以便在给定相似度阈值的情况下将最相似的矩阵分组。我在python中找不到任何这样的函数,所以我手动实现了距离测量,(p-normwherep=2).现在我有一个3x3距离矩阵(我相信在这种情况下它也是一个相似矩阵)。我现在正在尝试生成树状图。这是我的代码,这就是错误所在。我想要生成一个图(如果可能的话,树状图)来显示最相似的矩阵簇。Ofmatrices0,1,2,0和2是相同的,应该先聚类到一起,1是不同的。距离矩阵如下所示:>01200.02.03.85e-1612.00.02.023.85e-162.00

python - 使用递归或迭代方法在 Python 中构建嵌套的树状结构

这两天我一直在尝试构建一个嵌套的树状结构,并决定在这里寻求帮助。假设我有这样的数据:rows=[{'Year':None,'Region':None,'Country':None,'Manufacturer':None,'Brand':None,'Sales':25},#row1=>SUMof(row2androw14)=15+25=40;thisrowrepresents,forexample,allofthesalesmadesofar(theultimatetotal,ifyouwillcallitassuch){'Year':2013,'Region':None,'Countr

python - 手动在python中绘制树状图

我已经实现了一种算法来解决图中的聚类问题。我使用python库“python-graph”来表示图形。现在,在计算的每一步(算法是迭代的)我都必须绘制树状图的一部分。事实上,该算法是split的,从原始图开始计算聚类的意义上说。现在,我不知道用什么来绘制树状图(有人建议使用PIL,但我正在寻找简单的方法,但我不知道如何使用PIL)...你能提出一些建议并告诉我如何使用吗用它做图?注意:我阅读了其他问题,但似乎所有问题都使用了自动计算聚类的方法……这不是我要找的:我需要手动绘制树状图或至少找到一种方法来表示计算要绘制的簇。谢谢! 最佳答案

python - python中的树状图

我想编写代码在python中绘制树状图。有没有一种简单的方法来解决它。我已经编写了代码来识别点数据集中的聚类,并希望生成一个树状图来显示每次迭代产生的聚类数量例如,当我在这个数据集上运行我的代码时,我在第一次迭代时得到了一个集群和2个集群第二次迭代所以我想制作一些东西来展示这一点。但真的不知道从哪里开始每个点都有一个“标签”属性,它是每次迭代后该点所在的每个聚类的列表。即在这个例子中,一些点标签属性是[0,0],其他的是[0,1]。所以如果我要使用scipydendrogram我怎么会从这个到链接格式 最佳答案 SciPydoesc