问题列表 - 第32468页

大哦:O(n)+ O(n)+ ... + O(n)如何等于O(n ^ 2)?

我很难理解来自S. Dasgupta,CH Papadimitriou和UV Vazirani的算法的以下陈述- 第24页它们代表O(n)之和为O(n 2).但是我对O(n)的理解是n的线性函数,无论线性函数被添加多少次(对于任何给定的n),它都不能是二次的.他们给出了如下的解释,例如13 x 11的二进制表示法.

        1 1 0 1
      x 1 0 1 1
      ----------
        1 1 0 1 (1101 times 1)
      1 1 0 1   (1101 times 1, shifted once)
    0 0 0 0     (1101 times 0, shifted twice)
+ 1 1 0 1       (1101 times 1, shifted thrice)
----------------
1 0 0 0 1 1 1 1 (binary 143)
Run Code Online (Sandbox Code Playgroud)

如果x和y(此处为1101和1011)都是n位,则有n个中间行,长度最多为2n位(考虑到移位).将这些行加起来,一次做两个数字所花费的总时间是O(n)+ O(n)+ ... + O(n),即O(n 2),二次大小为输入. …

algorithm big-o

12
推荐指数
3
解决办法
1955
查看次数

帮助我理解为什么我琐碎使用Python的ctypes模块失败了

我试图理解Python"ctypes"模块.我已经把一个简单的例子放在一起 - 理想情况下 - 包装了statvfs()函数调用.代码如下所示:

from ctypes import *

class struct_statvfs (Structure):
    _fields_ = [
            ('f_bsize', c_ulong),
            ('f_frsize', c_ulong),
            ('f_blocks', c_ulong),
            ('f_bfree', c_ulong),
            ('f_bavail', c_ulong),
            ('f_files', c_ulong),
            ('f_ffree', c_ulong),
            ('f_favail', c_ulong),
            ('f_fsid', c_ulong),
            ('f_flag', c_ulong),
            ('f_namemax', c_ulong),
            ]


libc = CDLL('libc.so.6')
libc.statvfs.argtypes = [c_char_p, POINTER(struct_statvfs)]
s = struct_statvfs()

res = libc.statvfs('/etc', byref(s))
print 'return = %d, f_bsize = %d, f_blocks = %d, f_bfree = %d' % (
    res, s.f_bsize, s.f_blocks, s.f_bfree)
Run Code Online (Sandbox Code Playgroud)

运行这个总是返回:

return = 0, f_bsize = 4096, f_blocks = …
Run Code Online (Sandbox Code Playgroud)

python malloc ctypes

5
推荐指数
1
解决办法
848
查看次数

c#线程行为

谁能解释为什么这样有效:

    Object ready_lock = new Object();
    Object thread_lock = new Object();
    public static bool able_to_get_lock = false;

    public void GetThreadLock()
    {
        if (Monitor.TryEnter(thread_lock,2))
        {
            able_to_get_lock = true;
        }
    }

    [TestMethod]
    public void ThreadingModelTest()
    {
        Monitor.Enter(ready_lock);
        Thread t1 = new Thread(new ThreadStart(GetThreadLock));
        t1.Start();
        Thread.Sleep(400);
        Assert.IsTrue(able_to_get_lock);

    }
Run Code Online (Sandbox Code Playgroud)

但如果我将锁定对象的对象类型更改为String(如下所示),则会失败:

    String ready_lock = "Hello";
    String thread_lock = "Hello";
Run Code Online (Sandbox Code Playgroud)

一段时间以来我一直困扰着我.谢谢 :)

c# multithreading

11
推荐指数
2
解决办法
146
查看次数

多个Hibernate配置

我正在构建一个库来模块化我的一些代码,我遇到了Hibernate的问题.

在我的主应用程序中,我有一个hibernate配置来获取它需要运行的信息但是我还需要在我的库中使用hibernate,因为我想要的一些对象可以在其他应用程序中使用.

当我启动我的tomcat服务器时,同时设置了两个hibernates,我收到错误,指出bean无法解析,并且我的查询中缺少一个说明我的位置参数的错误.但是,当我只使用应用程序Hibernate配置启动Tomcat时,它启动正常.

这是配置的样子......

从图书馆:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>


<session-factory>   
    <mapping resource="blah.hbm.xml"/>
    <mapping resource="blargh.hbm.xml"/>
    <mapping resource="stuff.hbm.xml"/>
    <mapping resource="junk.hbm.xml"/>
    <mapping resource="this.hbm.xml"/>
</session-factory>

</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)

从应用程序:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>


<session-factory>       

    <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>

    <!-- Enable the query cache  -->
    <property name="hibernate.cache.use_query_cache">true</property>

    <!-- Echo all executed SQL to stdout -->
    <property name="show_sql">false</property>

    <!-- mapping files -->

    <mapping resource="appStuff"/>
    <mapping resource="appBlah"/>
    <mapping resource="appBlargh"/>
    <mapping resource="appJunk"/>
    <mapping resource="appThis"/>    

</session-factory>

</hibernate-configuration> …
Run Code Online (Sandbox Code Playgroud)

java hibernate

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

什么mysql引擎的大量数据(日志记录)?

什么mysql引擎最适合处理大量(多行)的(小)数据?我在谈论伐木.

每当我在页面上做事情时,我都在考虑记录,比如调用函数,调用文件等等.

我还应该了解如何构建表格.

mysql logging structure

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

使用块的C#中的处理顺序

我真的不得不using在C#中嵌套块.它不优雅,占用了大量空间.在某些情况下,它似乎是不可避免的,因为我需要声明不同数据类型的变量,但似乎可以简化单一类型的情况.我所说的"单一类型的情况"是指几个相同类型的变量是串联声明的.这是我正在谈论的一个例子:

class Program
{
    static void Main(string[] args)
    {
        using (A a = new A("a"), b = new A("b"))
        {
        }
    }

    class A : IDisposable
    {
        string n = null;
        public A(string name)
        {
            n = name;
            Console.WriteLine(String.Format("Creating {0}", n));
        }

        public void Dispose()
        {
            Console.WriteLine(String.Format("Disposing {0}", n));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要它的工作方式a是之前构建的b,并且b之前处理a.不幸的是,C#规范中似乎没有任何关于它应该如何发生的方向.好像微软的C#编译器就像这样对待它,因为这是运行上述程序的输出:

Creating a
Creating b
Disposing b
Disposing a
Run Code Online (Sandbox Code Playgroud)

但是,我无法确保这是确定性行为.有人可以确认或反驳这个序列是确定性的吗?参考文献会很棒.显然,如果它容易破损(没有文件记录等),它可能没用,但这是一件好事.

已经有一个关于确定性处理的类似问题谈论多类型情况,我理解除了聪明的语法技巧之外没有真正的解决方案.无论如何,大多数答案都忽略了这一点.我的问题只是关于单一类型的情况以及这种处置是否具有确定性和可靠性.谢谢.

c# garbage-collection dispose control-structure

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

"类型"在物理上意味着什么?

我听过很多关于" 类型系统","强类型语言"等等.目前我正在研究一些.NET COM互操作问题,它解决了"编组"问题.而AFAIK,marshaling则是关于.NET类型和COM类型之间的转换.

在诸如编程语言的许多场景中,当谈论类型时,我们关注逻辑意义.

现在我想知道:"类型"在物理上意味着什么?在某种程度上,我们可以观看和触摸.

我目前的理解是"类型"只不过是计算实体的内存表示.

非常感谢您的回复.

添加-1

来自MSDN的一些引用:

在托管/非托管边界上编组简单,易于浏览的结构首先要求定义每个本机结构的托管版本.这些结构可以有任何合法的名称; 除了数据布局之外,两个结构的本机版本和托管版本之间没有任何关系.因此,托管版本包含与本机版本大小相同且顺序相同的字段至关重要.(没有机制可以确保结构的托管版本和本机版本是等效的,因此不兼容性在运行时才会变得明显.程序员有责任确保两个结构具有相同的数据布局.)

因此,就Marshaling而言,布局至关重要.

.net language-agnostic types strong-typing

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

每个对象都是一个函数,每个函数都是对象 - 哪个是正确的?

我正在读这个链接JavaScript_syntax

这似乎是循环的 - 每个函数都是一个Object,每个Object本身都是一个函数.哪个是原子的?有人能以更好的方式解释吗?

javascript

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

keytool错误:java.lang.Exception:输入不是X.509证书

我正在尝试导入Gmails smtp证书以供Jira使用,但是在使用Javas keytool导入时出现此错误.

我使用openssl来获取证书,即---- Begin Certificate ----和---- End Certificate ----(包括)之间的所有内容.我还尝试使用Windows证书管理器创建x.509证书,但仍然出现此错误.我已经确认文件中没有额外的空格.

我见过很多人在网上遇到这个问题,但没有一个解决方案对我有用.任何帮助,将不胜感激.

谢谢

gmail jira keytool x509

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

关于C#字符串的问题:不可抗力和克隆

我正在阅读Accelerated C#2010.并且有一些问题

问题1

String的实例是不可变的,因为一旦你创建它们,你就无法改变它们

怎么回事呢.我有一段时间没有使用过C#,而且我刚刚开始,所以即使在语法中我也许错了.

string str1 = "this is a string"; // i hope my syntax is right 
str1 = "this is a NEW string"; // i think i can do this right? 
Run Code Online (Sandbox Code Playgroud)

问题2

如果在字符串上调用ICloneable.Clone方法,则会得到一个指向与源相同的字符串数据的实例.事实上,ICloneable.Clone只是返回对此的引用

如果这是真的,那就意味着

string str1 = "string 1";
// i hope my syntax is right too. i am really not sure about this
string str2 = str1.Clone(); 
str2 = "modified string"; // will str1 be modified too? 
Run Code Online (Sandbox Code Playgroud)

c#

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