Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
tianyazhichiC
algorithm-visualizer
提交
f6474a08
A
algorithm-visualizer
项目概览
tianyazhichiC
/
algorithm-visualizer
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
algorithm-visualizer
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f6474a08
编写于
8年前
作者:
J
Jason Park
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add WeightedUndirectedGraph
上级
785bf195
master
dependabot/npm_and_yarn/acorn-5.7.4
dependabot/npm_and_yarn/axios-0.21.1
dependabot/npm_and_yarn/chart.js-2.9.4
dependabot/npm_and_yarn/color-string-1.8.1
dependabot/npm_and_yarn/elliptic-6.5.3
dependabot/npm_and_yarn/elliptic-6.5.4
dependabot/npm_and_yarn/hosted-git-info-2.8.9
dependabot/npm_and_yarn/lodash-4.17.19
dependabot/npm_and_yarn/lodash-4.17.21
dependabot/npm_and_yarn/merge-deep-3.0.3
dependabot/npm_and_yarn/node-sass-4.13.1
dependabot/npm_and_yarn/path-parse-1.0.7
dependabot/npm_and_yarn/postcss-7.0.36
dependabot/npm_and_yarn/ssri-6.0.2
dependabot/npm_and_yarn/tmpl-1.0.5
dependabot/npm_and_yarn/url-parse-1.5.3
dependabot/npm_and_yarn/ws-5.2.3
dependabot/npm_and_yarn/y18n-3.2.2
无相关合并请求
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
116 addition
and
9 deletion
+116
-9
index.html
index.html
+1
-0
js/module/directed_graph.js
js/module/directed_graph.js
+3
-1
js/module/undirected_graph.js
js/module/undirected_graph.js
+3
-1
js/module/weighted_directed_graph.js
js/module/weighted_directed_graph.js
+4
-7
js/module/weighted_undirected_graph.js
js/module/weighted_undirected_graph.js
+105
-0
未找到文件。
index.html
浏览文件 @
f6474a08
...
...
@@ -111,6 +111,7 @@
<script
src=
"js/module/directed_graph.js"
></script>
<script
src=
"js/module/undirected_graph.js"
></script>
<script
src=
"js/module/weighted_directed_graph.js"
></script>
<script
src=
"js/module/weighted_undirected_graph.js"
></script>
<script
src=
"js/module/array2d.js"
></script>
<script
src=
"js/module/array1d.js"
></script>
<script
src=
"js/script.js"
></script>
...
...
This diff is collapsed.
Click to expand it.
js/module/directed_graph.js
浏览文件 @
f6474a08
...
...
@@ -335,7 +335,9 @@ var DirectedGraph = {
for
(
var
i
=
0
;
i
<
N
;
i
++
)
{
G
[
i
]
=
new
Array
(
N
);
for
(
var
j
=
0
;
j
<
N
;
j
++
)
{
if
(
i
!=
j
)
G
[
i
][
j
]
=
(
Math
.
random
()
*
(
1
/
ratio
)
|
0
)
==
0
?
1
:
0
;
if
(
i
!=
j
)
{
G
[
i
][
j
]
=
(
Math
.
random
()
*
(
1
/
ratio
)
|
0
)
==
0
?
1
:
0
;
}
}
}
return
G
;
...
...
This diff is collapsed.
Click to expand it.
js/module/undirected_graph.js
浏览文件 @
f6474a08
...
...
@@ -123,7 +123,9 @@ var UndirectedGraph = {
for
(
var
i
=
0
;
i
<
N
;
i
++
)
G
[
i
]
=
new
Array
(
N
);
for
(
var
i
=
0
;
i
<
N
;
i
++
)
{
for
(
var
j
=
0
;
j
<
N
;
j
++
)
{
if
(
i
>
j
)
G
[
i
][
j
]
=
G
[
j
][
i
]
=
(
Math
.
random
()
*
(
1
/
ratio
)
|
0
)
==
0
?
1
:
0
;
if
(
i
>
j
)
{
G
[
i
][
j
]
=
G
[
j
][
i
]
=
(
Math
.
random
()
*
(
1
/
ratio
)
|
0
)
==
0
?
1
:
0
;
}
}
}
return
G
;
...
...
This diff is collapsed.
Click to expand it.
js/module/weighted_directed_graph.js
浏览文件 @
f6474a08
...
...
@@ -215,15 +215,12 @@ var WeightedDirectedGraph = {
if
(
!
ratio
)
ratio
=
.
3
;
if
(
!
min
)
min
=
1
;
if
(
!
max
)
max
=
5
;
var
G
=
[]
;
var
G
=
new
Array
(
N
)
;
for
(
var
i
=
0
;
i
<
N
;
i
++
)
{
G
.
push
([]
);
G
[
i
]
=
new
Array
(
N
);
for
(
var
j
=
0
;
j
<
N
;
j
++
)
{
if
(
i
==
j
)
G
[
i
].
push
(
0
);
else
if
((
Math
.
random
()
*
(
1
/
ratio
)
|
0
)
==
0
)
{
G
[
i
].
push
((
Math
.
random
()
*
(
max
-
min
+
1
)
|
0
)
+
min
);
}
else
{
G
[
i
].
push
(
0
);
if
(
i
!=
j
&&
(
Math
.
random
()
*
(
1
/
ratio
)
|
0
)
==
0
)
{
G
[
i
][
j
]
=
(
Math
.
random
()
*
(
max
-
min
+
1
)
|
0
)
+
min
;
}
}
}
...
...
This diff is collapsed.
Click to expand it.
js/module/weighted_undirected_graph.js
0 → 100644
浏览文件 @
f6474a08
function
WeightedUndirectedGraphTracer
(
module
)
{
if
(
WeightedDirectedGraphTracer
.
call
(
this
,
module
||
WeightedUndirectedGraphTracer
))
{
WeightedUndirectedGraphTracer
.
prototype
.
init
.
call
(
this
);
return
true
;
}
return
false
;
}
WeightedUndirectedGraphTracer
.
prototype
=
$
.
extend
(
true
,
Object
.
create
(
WeightedDirectedGraphTracer
.
prototype
),
{
constructor
:
WeightedUndirectedGraphTracer
,
init
:
function
()
{
var
tracer
=
this
;
s
.
settings
({
defaultEdgeType
:
'
def
'
});
sigma
.
canvas
.
edges
.
def
=
function
(
edge
,
source
,
target
,
context
,
settings
)
{
var
color
=
tracer
.
getColor
(
edge
,
source
,
target
,
settings
);
tracer
.
drawEdge
(
edge
,
source
,
target
,
color
,
context
,
settings
);
tracer
.
drawEdgeWeight
(
edge
,
source
,
target
,
color
,
context
,
settings
);
};
},
_setData
:
function
(
G
)
{
if
(
Tracer
.
prototype
.
_setData
.
call
(
this
,
arguments
))
return
true
;
graph
.
clear
();
var
nodes
=
[];
var
edges
=
[];
var
unitAngle
=
2
*
Math
.
PI
/
G
.
length
;
var
currentAngle
=
0
;
for
(
var
i
=
0
;
i
<
G
.
length
;
i
++
)
{
currentAngle
+=
unitAngle
;
nodes
.
push
({
id
:
this
.
n
(
i
),
label
:
''
+
i
,
x
:
.
5
+
Math
.
sin
(
currentAngle
)
/
2
,
y
:
.
5
+
Math
.
cos
(
currentAngle
)
/
2
,
size
:
1
,
color
:
this
.
color
.
default
,
weight
:
0
});
}
for
(
var
i
=
0
;
i
<
G
.
length
;
i
++
)
{
for
(
var
j
=
0
;
j
<=
i
;
j
++
)
{
if
(
G
[
i
][
j
]
||
G
[
j
][
i
])
{
edges
.
push
({
id
:
this
.
e
(
i
,
j
),
source
:
this
.
n
(
i
),
target
:
this
.
n
(
j
),
color
:
this
.
color
.
default
,
size
:
1
,
weight
:
G
[
i
][
j
]
});
}
}
}
graph
.
read
({
nodes
:
nodes
,
edges
:
edges
});
s
.
camera
.
goTo
({
x
:
0
,
y
:
0
,
angle
:
0
,
ratio
:
1
});
this
.
refresh
();
return
false
;
},
e
:
UndirectedGraphTracer
.
prototype
.
e
,
drawOnHover
:
UndirectedGraphTracer
.
prototype
.
drawOnHover
,
drawEdge
:
UndirectedGraphTracer
.
prototype
.
drawEdge
,
drawEdgeWeight
:
function
(
edge
,
source
,
target
,
color
,
context
,
settings
)
{
var
prefix
=
settings
(
'
prefix
'
)
||
''
;
if
(
source
[
prefix
+
'
x
'
]
>
target
[
prefix
+
'
x
'
])
{
var
temp
=
source
;
source
=
target
;
target
=
temp
;
}
console
.
log
(
source
);
console
.
log
(
target
);
WeightedDirectedGraphTracer
.
prototype
.
drawEdgeWeight
.
call
(
this
,
edge
,
source
,
target
,
color
,
context
,
settings
);
}
});
var
WeightedUndirectedGraph
=
{
random
:
function
(
N
,
ratio
,
min
,
max
)
{
if
(
!
N
)
N
=
5
;
if
(
!
ratio
)
ratio
=
.
3
;
if
(
!
min
)
min
=
1
;
if
(
!
max
)
max
=
5
;
var
G
=
new
Array
(
N
);
for
(
var
i
=
0
;
i
<
N
;
i
++
)
G
[
i
]
=
new
Array
(
N
);
for
(
var
i
=
0
;
i
<
N
;
i
++
)
{
for
(
var
j
=
0
;
j
<
N
;
j
++
)
{
if
(
i
>
j
&&
(
Math
.
random
()
*
(
1
/
ratio
)
|
0
)
==
0
)
{
G
[
i
][
j
]
=
G
[
j
][
i
]
=
(
Math
.
random
()
*
(
max
-
min
+
1
)
|
0
)
+
min
;
}
}
}
return
G
;
}
};
\ No newline at end of file
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
反馈
建议
客服
返回
顶部