c - 在 C 中打印图形的替代方法
问题描述
我尝试在 C 中绘制具有此数据结构的图形:
- 呈现图形的布隆过滤器
- 所有节点的列表
- 图的第一个节点(度数 == 0)
- 包含与另一个节点相邻的所有节点的数组
我尝试使用这种方法打印图表,但它不是以已知的开头first node
:
file = fopen("out/graph.dot", "w");
fprintf(file, "digraph G {\n");
key_list = hash_table_keys(hash_table);
edge = NULL;
sub_kmer = NULL;
while ( key_list != NULL ) {
sub_kmer = substr(key_list->key, 1, strlen(key_list->key));
edge = kmer_append(sub_kmer);
for ( i = 0; i < NUM_BASE; i++ ) {
if ( bloom_filter_get(bloom_filter, edge[i]) ) {
fprintf(file, " %s ", key_list->key);
fprintf(file, "-> ");
fprintf(file, "%s \n", edge[i]);
}
free(*(edge + i));
}
free(sub_kmer);
free(edge);
key_list = key_list->next;
}
fprintf(file, "}");
fclose(file);
在哪里:
substr
计算字符串的子字符串kmer_append
将字符(A,C,G,T)附加到子字符串bloom_filter_get
检查节点是否在布隆过滤器中
是否有仅使用first node
、bloom filter
和打印图形的方法adjacenty array
?
解决方案
推荐阅读
- powershell - 远程机器上的 Azure DevOps Powershell 问题与美元登录秘密
- python - python importlib 从错误的目录导入
- python - 在python中添加列数据
- uml - 如何在 PlantUML 预处理中从另一个函数调用一个函数?
- java - 如何管理 Kafka 偏移重置以实现并行消费?
- python - 来自模板上的数据库的“MultipleObjectsReturned”
- python - 在没有浏览器的情况下授权多个谷歌 API
- php - 如何在 PHP 中用 (·) 断点替换 (.) 点?
- javascript - 为什么我的表单输入在重新渲染后只注册一个字符?
- django - Many_to_many --> FieldError: Related Field got invalid lookup: contains