嘿,有人可以帮我确定复杂性吗?我班上给出的一个例子是
泡泡排序
int main() {
int a[10] = {10,9,8,7,6,5,4,3,2,1};
int i,j,temp;
for (j=0;j<10;j++) {
for (i=0;i<9;i++) {
if (a[i] > a[i+1]) {
temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
}
}
}
for (i=0;i<10;i++) {
printf("%d ",a[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
其复杂度为O(n ^ 2),因为它有两个O(n)循环,因此O(n)x O(n).
并且他们说quicksort的复杂度为O(nlog(n))..为什么会这样?
是因为它围绕一个循环划分一个数字?
-谢谢
用于分析Internet上的文档!
我有以下xaml:
<DockPanel>
<DockPanel>
<CheckBox IsChecked="{Binding Path=Test}" />
<CheckBox IsChecked="{Binding Path=Test}" />
</DockPanel>
<DockPanel DockPanel.Dock="Left" Width="10" Background="Blue">
<DockPanel.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Test}" Value="True">
<Setter Property="DockPanel.Background" Value="Yellow" />
</DataTrigger>
</Style.Triggers>
</Style>
</DockPanel.Style>
</DockPanel>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)
现在 - 2个复选框正确链接 - 检查一个将检查另一个 - 但数据触发器根本没有触发.
我究竟做错了什么?
我想用最简单的方法在Python脚本中弹出简单的对话框.理想情况下,解决方案将:
要弹出一个简单的标准对话框,只需要很少的代码.基本上你只是说"用这个文本弹出标准对话框",或者"弹出一个带有问题x的对话框并将响应反馈到变量y".
这适用于在命令行上运行的简单脚本.我不想知道GUI框架或者必须设置代码"启动GUI线程,注册事件处理程序,配置一些窗口属性,运行循环"等等.我不想设置窗户或之后关闭窗户.我把文本放在窗口和/或按钮和/或复选框中,它返回用户点击的内容.其他一切都应该自动处理.例如:
message_box('File conversion complete')
Run Code Online (Sandbox Code Playgroud)
对于带有"确定"按钮的标准对话框,或
balloon_tip('File conversion complete')
Run Code Online (Sandbox Code Playgroud)
对于系统托盘弹出气球,或
format = button_box('Which file format do you want?', 'JPG', 'PNG')
Run Code Online (Sandbox Code Playgroud)
然后他们按下两个按钮中的一个,然后format
等于'JPG'
,或
response = text_query('What would you like to name the file?')
Run Code Online (Sandbox Code Playgroud)
然后在他们输入框并输入Ok后,response
现在等于'bananas.txt'
.无需其他代码.没有丑陋的命令行提示穷人.
我列出了Zenity和EasyGUI作为示例答案,因为它们与我想要的相似,但并不完美.
[ 以前在Python论坛上问过 ]
这在c ++中是否合法(是的,我知道它在.net中是合法的),如果是,那么它将如何/为什么会被使用?
static class foo{
public:
foo();
int doIt(int a);
};
Run Code Online (Sandbox Code Playgroud) 如何对Ctrl + C键事件进行多线程python程序响应?
编辑:代码是这样的:
import threading
current = 0
class MyThread(threading.Thread):
def __init__(self, total):
threading.Thread.__init__(self)
self.total = total
def stop(self):
self._Thread__stop()
def run(self):
global current
while current<self.total:
lock = threading.Lock()
lock.acquire()
current+=1
lock.release()
print current
if __name__=='__main__':
threads = []
thread_count = 10
total = 10000
for i in range(0, thread_count):
t = MyThread(total)
t.setDaemon(True)
threads.append(t)
for i in range(0, thread_count):
threads[i].start()
Run Code Online (Sandbox Code Playgroud)
我试图在所有线程上删除join()但它仍然无效.是因为每个线程的run()过程中的锁段?
编辑:上面的代码应该可以工作但是当当前变量在5,000-6,000范围内并且通过如下错误时它总是被中断
Exception in thread Thread-4 (most likely raised during interpreter shutdown):
Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud) 在2.7.5.final,我试图添加一个Intrable Int这样的列表
def sum(xs: Iterable[Int]): Long = {
var sum = 0L
xs.foreach((x) => sum = sum + x)
sum
}
println(sum(List(1, Integer.MAX_VALUE - 1)))
println(sum(Integer.MAX_VALUE - 1 to Integer.MAX_VALUE))
println(0L + Integer.MAX_VALUE - 1 + Integer.MAX_VALUE)
Run Code Online (Sandbox Code Playgroud)
当我跑步时,我明白了
2147483647
0
4294967293
Run Code Online (Sandbox Code Playgroud)
并且,您可能会说"使用reduceLeft(_ + _)",但它似乎只能返回与列表中的元素相同的类型...但我想积累到Long,所以我没有溢出问题.
更新2009-10-28
正如Eastsun所指出的,这是Range中的一个错误.已经向Scala团队报告了2535号机票
我在Objective C中通过简单的数学计算得到了一个意想不到的值.我输出了计算的三个不同部分以及下面的计算结果.
以下代码
NSLog(@"self.contentView.bounds.size.width: %f", self.contentView.bounds.size.width);
NSLog(@"SWATCHES_WIDTH: %f", SWATCHES_WIDTH);
NSLog(@"RIGHT_MARGIN: %f", RIGHT_MARGIN);
NSLog(@"(self.contentView.bounds.size.width - SWATCHES_WIDTH - RIGHT_MARGIN): %f", (self.contentView.bounds.size.width - SWATCHES_WIDTH - RIGHT_MARGIN));
Run Code Online (Sandbox Code Playgroud)
给出以下输出:
self.contentView.bounds.size.width:288.000000
SWATCHES_WIDTH:82.000000
RIGHT_MARGIN:12.000000
(self.contentView.bounds.size.width - SWATCHES_WIDTH - RIGHT_MARGIN):214.000000
我希望结果将是194而不是214(288-82-12 = 194).任何人都可以提供任何见解,为什么这是按照它的方式计算,我可以做些什么来解决它?谢谢!
据我所知,这三个值都是CGFloats.这两个常量定义如下:
#define SWATCHES_WIDTH SWATCH_SIZE * 3.0 + SPACE_BETWEEN * 2.0
#define RIGHT_MARGIN 12.0
Run Code Online (Sandbox Code Playgroud) 是否可以在运行时向对象添加注释(在我的情况下特别是一个方法)?
更多解释:我有两个模块,moduleA和moduleB.moduleB依赖于moduleA,它不依赖于任何东西.(modA是我的核心数据类型和接口等,modB是db/data层)modB也取决于externalLibrary.在我的例子中,modB将一个类从modA移交给externalLibrary,这需要某些方法进行注释.具体的注释都是externalLib的一部分,正如我所说,modA不依赖于externalLib,我想保持这种方式.
那么,这是可能的,还是你有其他方法来看待这个问题的建议?