问题列表 - 第8821页

Python递归和返回语句

我对Python和整个递归函数都很陌生,所以请原谅我的无知.

我试图在Python中实现二进制搜索树并具有以下插入方法(从类中取出):

def insert(self, key, root=None):
    '''Inserts a node in the tree'''
    if root == None:
        root = self.root
    if root.key == None:
        self._update(root, key)
        return 0
    else:
        tmp = root
        if key > tmp.key: # we work with the right subtree
            self.insert(key, root=tmp.right)
        elif key < tmp.key: # we work with the left subtree
            self.insert(key, root=tmp.left)
        else: # key already exists
            return 0
Run Code Online (Sandbox Code Playgroud)

我不确定这是否清晰,但是它会遍历树,直到它达到None值并使用要插入的键更新节点.

现在,该方法可以正常工作并从头开始正确创建BST.但是返回语句存在问题,因为如果没有执行递归,它只返回0.

>>> bst.insert(10)
0
>>> bst.insert(15)
>>> bst.root.right.key
15
>>>
Run Code Online (Sandbox Code Playgroud)

"插入"根键再次返回0(从第15行)它应该的方式.

>>> bst.insert(10)
0
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么会这样.如果我在第6行放置一个print语句,它会正确执行,但它不会在第一次插入后返回任何内容.为什么是这样?(我很确定我遗漏了一些关于Python和递归的基本信息) …

python recursion

17
推荐指数
2
解决办法
4万
查看次数

jQuery中的bind和live方法有什么区别?

我很想知道bind和live函数之间的区别.

对我来说,他们似乎几乎完全相同.

我读了live/bind方法的好处,但它并没有告诉我差异......

谢谢!

jquery bind live

65
推荐指数
4
解决办法
4万
查看次数

如何在MYSQL中进行评论回复查询?

我正在评论回复(仅限一个级别)功能.所有评论都可以有多少回复,但没有回复可以进一步回复.

所以我的数据库表结构如下所示

Id    ParentId    Comment
1     0           this is come sample comment text
2     0           this is come sample comment text
3     0           this is come sample comment text
4     1           this is come sample comment text
5     0           this is come sample comment text
6     3           this is come sample comment text
7     1           this is come sample comment text
Run Code Online (Sandbox Code Playgroud)

在上述结构中,有1个(有2个回复)和3个(1个回复)有回复.因此,要获取注释及其回复,一个简单的方法是首先获取所有具有ParentId为0的注释,然后通过运行while循环获取该特定commentId的所有回复.但是,如果我在特定记录上有大约200条评论,那么这似乎会运行数百条查询.

所以我想创建一个查询,它将按顺序获取带有回复的注释,如下所示;

Id    ParentId    Comment
1     0           this is come sample comment text
4     1           this is come sample …
Run Code Online (Sandbox Code Playgroud)

mysql sql comments

7
推荐指数
1
解决办法
3713
查看次数

从C++中的HKEY句柄确定注册表项的路径

给定Windows注册表项的句柄,例如由:: RegOpenKeyEx()设置的句柄,是否可以确定该键的完整路径?

我意识到在一个简单的应用程序中,您只需要查看5行或10行并阅读...但是在我正在调试的复杂应用程序中,我感兴趣的键可以从一系列中打开电话.

c++ registry handle

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

只获取文件的一部分

我有一些非常简单的示例代码,如下所示:

$.ajax({
  url: 'demo2.htm',
  success: function(loadeddata){
    $("#loaded_data").html(loadeddata);
    alert('success');
  },
  error: function(){
    alert('failure');
  }
});
Run Code Online (Sandbox Code Playgroud)

加载的数据当前返回所有内容.我需要的是只获得一个特定的div并使其成为#loaded_data的html.

我怎么做?

谢谢!

编辑:

在尝试使用.load()时......

这是我在评论中写的内容.

谢谢,您的更新示例很棒.但是我不确定我的错是什么.

这个:有效

$("#loaded_data").load("demo2.htm #mydiv", function(text, status, request) {
    if(status == 'success') {
        alert('success');
    } else {
        alert('error');
    }
});
Run Code Online (Sandbox Code Playgroud)

这个:

$("#loaded_data").load("demo5.htm #mydiv", function(text, status, request) {
    if(status == 'success') {
        alert('success');
    } else {
        alert('error');
    }
});
Run Code Online (Sandbox Code Playgroud)

才不是.它只是挂起.没有demo5.htm但是没有返回错误.

再次感谢您的帮助.

jquery

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

什么是用于执行类似于Stackoverflow上的"相关问题"的搜索的SQL

我正在尝试实现类似于Stackoverflow上的"相关问题"的功能.

我如何编写SQL语句来搜索我的数据库的Title和Summary字段以寻找类似的问题?

如果我的问题是:"用于执行搜索的SQL是什么类似于Stackoverflow上的"相关问题".

我能想到的步骤是;

  1. 剥去引号
  2. 将句子拆分为一个单词数组,并在每个单词上运行SQL搜索.

如果我这样做,我猜我不会得到任何有意义的结果.我不确定服务器上是否启用了全文搜索,所以我没有使用它.使用全文搜索会有优势吗?

我发现了一个类似的问题,但没有答案:类似的问题

使用SQL 2005

sql search text

6
推荐指数
2
解决办法
1166
查看次数

根据内容过滤OpenFileDialog中显示的文件?

有没有办法修改OpenFileDialog的行为,以便它查看它打开的文件夹中的文件,然后根据其内容忽略某些文件?

一个例子是打开一个充满Zip文件的文件夹,但只显示包含某个文件的文件夹.

从文档中,有HookProc,但我不确定我是如何使用它的.

请注意,如果可能,我意识到这将是一个相对较慢的操作.目前我并不关心表现.

谢谢!

c# wpf openfiledialog

7
推荐指数
1
解决办法
1702
查看次数

DllImport vs VB.NET中的声明

我在MSDN文档中注意到有多种方法可以在VB.NET程序中声明对外部DLL中函数的引用.

令人困惑的是,MSDN声称你只能在极少数情况下使用DllImportAttribute类和共享函数原型,但是我找不到这个语句的解释,而你可以简单地使用关键字.Declare

为什么这些不同,我会在哪里适当地使用每个案例?

vb.net dllimport declare

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

我什么时候应该使用Odbc,OleDb,SQLClient?有什么权衡取舍

我开始使用SQLServer数据库.所以我似乎应该使用System.Data.SqlClient命名空间.但是,我们有可能关闭我们的SqlServer数据库并转到MySql或Oracle.出于这个原因,我提出了一套关于我们的.Net应用程序如何与数据库通信的标准,以便在将来我们需要时更容易迁移到不同的数据库系统.

所以这是标准:

  1. 如果可能的话使用ORM(例如NHibernate)(没有LINQ,因为它只支持SqlServer,但是实体框架及其对Oracle和MySql的支持呢?)
  2. 如果ORM是过度杀死,则使用参数化SQL查询.
  3. 仅将存储过程用于需要在数据库上执行的长时间运行或复杂操作.

这让我想到了我的主要问题. 我应该使用哪个命名空间来编写DAL代码?

在我看来,选择是在System.Data.ODBC和之间System.Data.OleDB:

  • 有什么权衡取舍?
  • 一个比另一个更受欢迎吗?
  • 您对前3个标准有何看法?

.net database oledb odbc sqlclient

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

飞溅屏幕不会消失

我正在使用这里的Splash Screen .我喜欢它有多简单.但问题是,在我点击之前,启动画面不会消失.在IDE中运行时,它可以正常工作.有任何想法吗?我在这里附上代码,但由于某种原因它没有正确插入.

private System.Windows.Forms.Timer timer1;
//private Splash sp=null;

public Form1()
{
    InitializeComponent();

    Thread th = new Thread(new ThreadStart(DoSplash));
    //th.ApartmentState = ApartmentState.STA;
    //th.IsBackground=true;
    th.Start();
    Thread.Sleep(3000);
    th.Abort();
    Thread.Sleep(1000);
}

private void DoSplash()
{
    Splash sp = new Splash();
    sp.ShowDialog();
}

private void timer1_Tick(object sender, System.EventArgs e)
{
//      sp.Close();
}
Run Code Online (Sandbox Code Playgroud)

c# splash-screen

0
推荐指数
1
解决办法
1839
查看次数