标签: single-source

我们可以改变Dijkstra的算法来处理负权重吗?

来自维基百科的伪代码:

function Dijkstra(Graph, source):
 2      for each vertex v in Graph:                                // Initializations
 3          dist[v] := infinity ;                                  // Unknown distance function from source to v
 4          previous[v] := undefined ;                             // Previous node in optimal path from source
 5      end for ;
 6      dist[source] := 0 ;                                        // Distance from source to source
 7      Q := the set of all nodes in Graph ;                       // All nodes in the graph are unoptimized - thus are in Q
 8      while …
Run Code Online (Sandbox Code Playgroud)

algorithm directed-graph dijkstra single-source

7
推荐指数
2
解决办法
8266
查看次数

软件设计:DRY,单一事实来源和数据验证

来自维基百科关于DRY软件的文章:

DRY原则被称为"每一条知识必须在系统中具有单一,明确,权威的表示".安迪·亨特和戴夫·托马斯在他们的"实用程序员"一书中提出了这一原则.他们广泛应用它包括"数据库模式,测试计划,构建系统,甚至文档".

来自维基百科关于单一真理来源的文章:

在信息系统设计和理论中,如在企业级实例化,单一真实源(SSOT)是指构造信息模型和相关模式的实践,使得每个数据元素只存储一次(例如,不超过一个)一排一桌).与此数据元素的任何可能的链接(可能在关系模式的其他区域中,甚至在远程联合数据库中)仅供参考.

我的问题:如果我正在编写数据库应用程序,并且我已经编写了特定的代码来验证用户输入的数据,那么我是否会违反DRY和SSoT的原则来定义我的数据库字段的数据类型以最接近地匹配它期望的数据?(相反,只是为每个字段使用文本数据类型.目前,让我们忽略其他潜在的好处,如索引).

database-design dry single-source

3
推荐指数
1
解决办法
1547
查看次数