我想知道我是否正在.以正确的方式分割字符串?我的代码是:
String[] fn = filename.split(".");
return fn[0];
Run Code Online (Sandbox Code Playgroud)
我只需要字符串的第一部分,这就是我返回第一项的原因.我问,因为我注意到在API中.意味着任何角色,所以现在我被卡住了.
从这里提取我们得到了一个最小的迭代dfs例程,我把它称为最小,因为你很难进一步简化代码:
def iterative_dfs(graph, start, path=[]):
q = [start]
while q:
v = q.pop(0)
if v not in path:
path = path + [v]
q = graph[v] + q
return path
graph = {
'a': ['b', 'c'],
'b': ['d'],
'c': ['d'],
'd': ['e'],
'e': []
}
print(iterative_dfs(graph, 'a'))
Run Code Online (Sandbox Code Playgroud)
这是我的问题,您如何将此例程转换为拓扑排序方法,其中例程也变为"最小"?我看过这个视频,这个想法非常聪明,所以我想知道是否可以在上面的代码中应用相同的技巧,所以topological_sort的最终结果也变得"最小".
不要求拓扑排序的版本,这不是对上述例程的微小修改,我已经看过很少.问题不是"如何在python中实现拓扑排序",而是找到上述代码的最小可能调整集成为topological_sort.
附加评论
在原文中,作者说:
不久之前,我读了Guido van Rossen的图表实现,看似简单.现在,我坚持使用复杂性最低的纯python最小系统.我们的想法是能够探索算法.稍后,您可以优化和优化代码,但您可能希望以编译语言执行此操作.
这个问题的目标不是优化iterative_dfs,而是提出一个从它派生的topology_sort的最小版本(只是为了更多地了解图论算法).其实,我想一个更一般的问题可以像给一组最小的算法,{ iterative_dfs,recursive_dfs,iterative_bfs,recursive_dfs},这将是他们的topological_sort推导?虽然这会使问题变得更长/更复杂,但是从iterative_dfs中找出topology_sort就足够了.
python algorithm graph-theory depth-first-search topological-sort
JTextField tf = new JTextField();
tf.setBorder(new LineBorder(Color.red, 2));
Border border = tf.getBorder();
Run Code Online (Sandbox Code Playgroud)
如何获得边框颜色和大小?
如何在javadoc中为方法参数创建引用,以便可以重构引用?
例如:
public class A {
private int field;
/**
* @param p
* {@link #field} is initialized using the value of p.
*/
void foo(int p)
{
//...
}
}
Run Code Online (Sandbox Code Playgroud)
如果我在上面的代码中重命名参数p,我想要
"......使用p的值"
相应更改的文本(正如重命名字段将更改{@link #field}).
我读了这篇旧帖子,还有更多来源,但找不到办法.
javadoc是否支持它?
当我创建ImageIcon类对象时,我使用以下代码:
iconX = new ImageIcon (getClass().getResource("imageX.png"))
Run Code Online (Sandbox Code Playgroud)
当.png位于类的同一文件夹中时,上述代码可以在applet或桌面应用程序中正常工作.
问题是:如何避免NullPointerException.Png在另一个文件夹中?或者ImageIcon当对象位于类的不同位置时如何加载对象中的图像?
我不明白这种方法是如何工作的,如果有人能帮助我,我会很感激.谢谢!!
我有一个SimpleIntegerProperty并想从中派生出一个SimpleObjectProperty<Color>。
为此,我想象了一些机制,比如流和可选:
SimpleIntegerProperty intProp;
ObjectProperty<Color> colorProp = intProp.map(i -> convertIntToColor(i), c -> convertColorToInt(c));
Run Code Online (Sandbox Code Playgroud)
是否已经内置了一些东西,还是我真的需要自己推出它?
如果没有这样的东西,这似乎很奇怪,因为查看 的所有Bindings功能会让您强烈地感觉到该功能也应该存在。
谢谢!
我有一个带有由创建者用户制作的楼层地图的 SVG 对象,我想动态地找到该对象上两点之间的最短路径。Dijkstra 算法是寻找图中最短路径的更好解决方案,但该解决方案需要了解图的所有节点。我认为有两种解决方案可以制作最短路径。
解决方案一:http : //postimg.org/image/sok88bsgd/
当用户创建楼层地图时,应同时制作该地图的图形。换句话说,用户应该在此地图中制作所有可能的路径。这种方案的优点是最短路径的计算非常快,但缺点是创建者要用手把所有可能的路径都算出来。
解决方案二:http : //postimg.org/image/4c2bd7smr/
系统计算所有SVG对象并计算最短路径。这种解决方案的巨大缺点是计算非常非常缓慢。你有更好的解决方案吗?谢谢您的答复。
我试图在不使用任何Random()函数的情况下生成无意义的单词。我发现我可以使用当前时钟或鼠标坐标。我选择使用当前时钟。这是我写的代码。
private final char[] charray = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
private char getRandomCharacter(){
return charray[random(charray.length)];
}
private int random(int value){
value =(int) System.nanoTime()% 52;
return value;
}
protected Randomizer(){
boolean running = true;
int count = 0;
int max = 5;
while(running){
StringBuilder sb = new StringBuilder();
int size = random(25) + random(25);
for (int i = 0; i < size; i++) {
sb.append(getRandomCharacter());
}
System.out.println("Random Line : " + sb.toString());
if (count++ == max) {
running = false;
System.out.println("All of them …Run Code Online (Sandbox Code Playgroud) 我写了两个简单的程序,都绘制了相同的Sierpinski三角形:
一个程序使用swing实现,一个使用javafx.存在非常显着的性能差异,swing实现持续快得多:

(在这个测试案例中:超过1秒摆动Javafx超过12秒)
是否可以预料到或者我的javafx实现有什么问题?
Swing实现
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Polygon;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class SimpleSrpnskTriSw {
private Triangles triPanel;
SimpleSrpnskTriSw(int numberOfLevels){
JFrame frame = new JFrame("Sierpinski Triangles (swing)");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
triPanel = new Triangles();
frame.add(triPanel, BorderLayout.CENTER);
frame.pack();
frame.setResizable(false);
frame.setVisible(true);
triPanel.draw(numberOfLevels);
}
class Triangles extends JPanel{
private static final int PANEL_WIDTH =600, PANEL_HEIGHT = 600;
private static final int TRI_WIDTH= 500, TRI_HEIGHT= 500;
private static …Run Code Online (Sandbox Code Playgroud) java ×6
javafx ×2
swing ×2
algorithm ×1
border ×1
colors ×1
current-time ×1
dijkstra ×1
eclipse ×1
graph-theory ×1
javadoc ×1
javafx-8 ×1
nanotime ×1
path-finding ×1
performance ×1
php ×1
python ×1
random ×1
random-seed ×1
refactoring ×1
regex ×1
size ×1
split ×1
string ×1
svg ×1
wamp ×1
wampserver ×1