小编Fra*_*bem的帖子

关于内存使用的递归与迭代

假设我有一个递归和迭代解决方案(使用堆栈)来解决某些问题,例如二叉树的预序遍历.对于当前的计算机,在内存方面,在迭代版本上使用递归解决方案是有优势的,反之亦然,对于非常大的树?

我知道对于某些子问题重复的递归解决方案,如果使用递归,则会有额外的时间和内存成本.假设这不是这种情况.例如,

preOrder(Node n){
    if (n == null) return;
    print(n);
    preOrder(n.left);
    preOrder(n.right);
}
Run Code Online (Sandbox Code Playgroud)

VS

preOrder(Node n){
    stack s;
    s.push(n);
    while(!s.empty()){
        Node node = s.pop();
        print(node);
        s.push(node.right);
        s.push(node.left);
    }
}
Run Code Online (Sandbox Code Playgroud)

iteration algorithm recursion

9
推荐指数
1
解决办法
5242
查看次数

空字符串可以被认为是回文吗

我被要求给出一个生成以下语言的上下文无关文法(字母表是 {0, 1}:

{ w| w 是回文 }

为了正确回答这个问题,我需要知道是否可以将空字符串视为回文。谢谢你。

palindrome context-free-grammar

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

如何将HTTP响应转发给客户端

我有一个客户端(Xamarin)和两个Web API服务器A和B.客户端向A发出请求,使用请求参数向B发出另一个请求.如何将A从B接收的响应返回给客户端B使用C对客户来说是透明的.

例如,如果我使用HttpClient如何HttpResponseMessage在控制器的操作中转发到客户端,从A到B发出请求?

c# asp.net-core asp.net-core-webapi

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