小编Nik*_*nka的帖子

二叉树:在二叉树中进行前遍,后遍历的优势?

二叉搜索树的有序遍历会按递增顺序生成节点。但是在任何二叉树上进行预顺序和后顺序遍历有什么优势?

编辑:我的意思是优点:“任何适合应用前序或后序遍历的情况”。

language-agnostic algorithm binary-tree binary-search-tree

4
推荐指数
1
解决办法
2125
查看次数

什么是最小跨越森林?

最小生成树以最便宜的方式提供无向图.但什么是最小的跨越森林?它是为连接图还是未连接图定义的?

algorithm graph-theory graph minimum-spanning-tree

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

用于确定 DAG 是否具有可从其他每个顶点到达的顶点的线性时间算法?

我有以下作业问题: DAG:设计一个线性时间算法 ( O(|E|+|V|)) 来确定 DAG 是否具有可从其他所有顶点到达的顶点,如果是,请找出一个。

现在我解决这个问题的方法如下:->首先找到拓扑排序中最后一个顶点(称为 V)。

->现在,确定从这个顶点 V 是否可以到达反向图的每个顶点。

-> 如果每个顶点都是可达的,那么顶点 V 就是所需的顶点,否则图中没有每个其他顶点可达的顶点。

这种方法是否正确?

附注。这个问题的解决方案的提示说我应该计算每个顶点的出度。但我无法理解计算出度有何帮助。

language-agnostic algorithm graph-theory graph directed-acyclic-graphs

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

在C中,名称"forgiveme"和"forgivemenot"何时可以引用相同的变量?

网站说,"不要你的变量给予相似的名称.例如,编译器可以假定forgivemeforgivemenot是同一个变量.如果是的话,可能会出现一个丑陋的局面."

我从来没有在变量命名中读过这个问题.这种丑陋的情况什么时候最有可能发生?他们说编译器可能认为它们不是同一个变量是什么意思?

c variable-declaration

3
推荐指数
2
解决办法
168
查看次数

Bottom Up合并排序在哪里有用?

我一直在阅读塞奇威克和韦恩的"算法,第四版".本书介绍了两种使用合并排序的方法.使用标准的自顶向下递归合并排序或自底向上合并排序.

是否存在自下而上合并排序比自上而下版本更受欢迎的情况?

language-agnostic sorting algorithm merge mergesort

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

如何将包含双引号的字符串添加到 sql 数据库?

我想使用 JDBC 向我的 sql 数据库添加一个字符串。但问题是,只要字符串包含双引号,那么 sql 命令的解释就会完全不同,并且会抛出“您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法” .”

例如,String ssql = "INSERT INTO tableName VALUES (\""+ string + "\")";

如果 string = "abc",则 sql = INSERT INTO tableName VALUES ("abc")
但如果 string = "ab\"cd",则 sql = INSERT INTO tableName VALUES ("ab"c")


因此对于一个字符串包含双引号,sql 命令的解释完全不同。

如何将这样的字符串添加到数据库中。

附注。我无法将双引号更改为单引号。并且可以有其他技巧来添加这样的字符串,但我想知道是否真的没有直接添加这样的字符串的方法。

mysql sql database jdbc

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

使用红/黑树实现Dijkstra的最短路径算法?

我知道Dijkstra的算法实际上是使用Fibonacci堆实现的.但它是否也可以使用红黑树实现,并且最坏情况下的运行时间仍为O(m log n)?

algorithm dijkstra shortest-path red-black-tree data-structures

2
推荐指数
1
解决办法
909
查看次数

为什么不变性是类中的理想特性?

我读过很多地方都写到 java 中的不变性是一个理想的特性。为什么会这样?

java immutability

2
推荐指数
1
解决办法
265
查看次数

C++编译器非常异常的行为

我有以下代码.在功能xyz(int from, int to, int i).我打印的价值ii*2+1.但我用i = 1和获得了意想不到的输出i*2+1 = -1.该函数xyz2()完全相同,只是我已经取消注释了一个虚函数调用,我得到了i = 0和的预期输出i*2+1 = 1.请按照我的说明查看输出.另外我会提到我在本地机器上获得相同的输出.

为什么会这样?

    #include <stdio.h>
    #include <stdlib.h>

    long long arr[2];
    long long xyz(int from, int to, int i);
    long long array[200000];
    long long xyz2(int from, int to, int i);

    long long foo(){return 141;}

    int main(){
        int n=2;
        arr[0] = -4;
        arr[1] = 5;
        xyz(0, 1, 0);
        printf("\n\n");
        xyz2(0, 1, 0); …
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
118
查看次数

在perl中初始化哈希是否可选?

$color_of{apple} = "red";
print $color_of{apple}; 
Run Code Online (Sandbox Code Playgroud)

当我甚至没有初始化哈希时,上面的代码是打印红色的.这是perl允许的吗?它会一直编译吗?

我不记得确切的代码,但是当地图未明确初始化时,我得到以下错误.

Global symbol "%map" requires explicit package name at ....
Run Code Online (Sandbox Code Playgroud)

代码链接:http://ideone.com/NJDTUj

perl

2
推荐指数
1
解决办法
85
查看次数