首页 > 解决方案 > 在 C 中打印图形的替代方法

问题描述

我尝试在 C 中绘制具有此数据结构的图形:

我尝试使用这种方法打印图表,但它不是以已知的开头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);

在哪里:

是否有仅使用first nodebloom filter和打印图形的方法adjacenty array

标签: calgorithmgraphbloom-filter

解决方案


推荐阅读