标签: adjacency-list-model

邻接列表模型与MySQL分层数据的嵌套集模型?

在MySQL中使用层次结构数据两种方法:

  1. 邻接表模型
  2. 嵌套集模型

邻接列表模型的一个主要问题是我们需要为每个节点运行一个查询以获取层次结构的路径.

嵌套集模型这个问题不存在,但是对于每个添加的节点有必要给一个MySQL更新所有其他值.

我的分层数据不是静态数据,例如电子商务的产品类别.是否按层次顺序注册用户.

在我的应用程序中,虽然有许多常量用户注册,但我还需要获取分层路径,直到到达层次结构中的第一个节点.

分析我的情况,两种替代方案中的哪一种最适合我的应用?

mysql adjacency-list-model nested-set-model

18
推荐指数
1
解决办法
1万
查看次数

正确绘制R中的大邻接矩阵

我有一个相当大(但相当稀疏)的邻接矩阵(500x500),我试图在视觉上代表.在我看来,类似于力导向图的东西是我最好的选择,在尝试找出实现它的最佳方法时,我遇到了R的多个资源.最有帮助的是http:/上的网络可视化/kateto.net/network-visualization虽然我之前从未使用过R,但它似乎有很多有用的功能可用于这种可视化.

我已设法在下面生成一个图,但图像相当小,节点堆叠.

在此输入图像描述

如果我打印到pdf而不是PNG,分辨率会略好一些,但我仍然存在堆叠问题.因此,我的问题是,如何在R中正确绘制一个大的邻接矩阵来解决这些问题.

到目前为止我的代码如下(最后几行我尝试绘制数据的几种不同方式).任何提示都非常感谢.先感谢您.

为方便起见,我在https://github.com/BStricklin/DataViz上传了我的GitHub引用的两个文件.

plot.new()
library('igraph')
setwd("D:/Downloads/polnet2016/Data files")

nodes2 <- read.csv("nodes.csv", header=T, as.is=T)
links2 <- read.csv("nodeAdjacency.csv", header=T, row.names=1)

links2 <- as.matrix(links2)

head(nodes2)
head(links2)

net2 <- graph_from_incidence_matrix(links2)
net2 <- graph_from_adjacency_matrix(links2, mode = "undirected", weighted = TRUE)
net2 <- simplify(net2, remove.multiple = F, remove.loops = T) 

V(net2)$label <- nodes2$id

deg <- degree(net2, mode="all")
V(net2)$size <- deg*3

#plot(net2)
#plot(net2, edge.label=round(E(net2)$weight, 3))
layout <- layout.reingold.tilford(net2)
#plot.igraph(net2,vertex.size=3,layout=layout.lgl)
plot.igraph(net2,vertex.size=3,vertex.label.cex=.5,layout=layout.fruchterman.reingold(net2, niter=10000))
Run Code Online (Sandbox Code Playgroud)

编辑:对于任何想知道我最终如何做到这一点的人,我不得不使用MATLAB并利用图形和绘图功能.它看起来像R图像一样令人讨厌,但是通过一些节点的自定义和缩放功能的使用,它运行得很好.我仍然会对如何在R中这样做感兴趣.

r adjacency-list-model igraph adjacency-matrix

10
推荐指数
1
解决办法
2220
查看次数

如何在树视图中显示分层结构化数据库?

由于某些原因,需要在2个不同的树视图中显示来自mysql数据库的数据.

树视图1(使用列表标记):

<li>level1 (Root)
	<ul>
		<li>level2</li>
		<li>level2
			<ul>
				<li>level3</li>
				<li>level3
					<ul>
						<li>level4</li>
						<li>level4</li>
					</ul>
				</li>
			</ul>
		</li>
		<li>level2
			<ul>
				<li>level3</li>
				<li>level3
					<ul>
						<li>level4</li>
						<li>level4</li>
					</ul>
				</li>
			</ul>
		</li>
	</ul>
</li>
Run Code Online (Sandbox Code Playgroud)

树视图2:

在此输入图像描述

我目前正在研究这个PHP脚本:

<?php
$servername = "localhost";
$username = "root";
$password = "psswd_here";
$dbname = "db_here";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error)
{
    die("Connection failed: " . $conn->connect_error);
}

$data = array();
$index = array();
$sql2 = "SELECT * FROM categories ORDER BY name";
$result2 = $conn->query($sql2); …
Run Code Online (Sandbox Code Playgroud)

php mysql treeview adjacency-list-model hierarchical-data

5
推荐指数
1
解决办法
2837
查看次数

C++ 图的邻接表表示

在 C++ 中实现图的邻接表表示的有效方法是什么?

  1. 向量*边;
  2. 列出*边;
  3. 地图<int, int> *边缘;
  4. 地图<int, 地图<int, int>> 边;

在我看来,应该是选项3或4,但我找不到使用它的任何缺点......有什么缺点吗?

有人可以帮助我,这将是实现邻接表和竞争性编程的最有效方法吗?

c++ graph adjacency-list-model adjacency-list coding-efficiency

5
推荐指数
1
解决办法
1319
查看次数