小编Gri*_*han的帖子

算法分析(Big O和Big Omega)

我在考试中得到了这个问题:命名一个既不是O(n)也不是Omega(n)的函数.

在尝试通过youtube自己学习这些东西后,我想这可能是一个正确的答案:

(n 3(1 + sin n))既不是O(n)也不是Omega(n).

那会准确吗?

algorithm big-o big-theta

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

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

strcpy 在汇编中是什么意思?

void myfun1(char *str) {
push ebp
mov ebp,esp
char buffer[16];
sub esp,0x18
strcpy(buffer, str);
mov eax,DWORDPTR [ebp+8]
mov DWORD PTR [esp+4],eax
lea eax,[ebp-16]
mov DWORD PTR [esp],eax
call 0x80482c4 <strcpy@plt>
myfun2(buffer);
lea eax,[ebp-16]
mov DWORD PTR [esp],eax
call 0x80483b4 <myfun2>
}
leave
ret
Run Code Online (Sandbox Code Playgroud)

如果你们中的任何人也可以为我解释这段代码..我是汇编的初学者..

c assembly inline-assembly

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

解释qsort库中使用的函数的typedef

我正在使用qsort库函数对结构元素数组进行排序,而在Internet上搜索时我找到了一个资源:INFO:使用C qsort()函数 @support.microsoft 对结构进行排序.

我知道qsort函数需要通用指针进行类型转换.

但是我无法得到这一行:

typedef int (*compfn) (const void*, const void*);
Run Code Online (Sandbox Code Playgroud)

已宣布的内容及其随后的致电:

qsort((void *) &array,              // Beginning address of array
      10,                           // Number of elements in array
      sizeof(struct animal),        // Size of each element
      (compfn)compare               // Pointer to compare function
 );
Run Code Online (Sandbox Code Playgroud)
  1. 如何typedef表现,我的意思是到底有没有我们typedeffed int (*compfn)int (compfn)
  2. 如果是前者,那么不应该打电话(*compfn)吗?

c pointers typedef function-pointers qsort

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

为什么我的用户定义的异常没有得到正确处理?

我想知道一个用户定义的异常,我在我的python程序中从一个类中提出的异常处理程序中没有正确的异常处理程序处理main().说我有一节课:

class Pdbalog:
    # Constructor
    def __init__(self, logtype):
        if logtype == 1 or logtype == 2:
            # These are valid
            self.logtypeV = logtype
            ...<continue processing>
        else:
            # Invalid
            raise Exception("Invalid Logtype")
Run Code Online (Sandbox Code Playgroud)

main看起来像:

from pdbalog import *
def main():
    try:
        mylog = Pdbalog(10)
        ...<other code here>

    except "Invalid Logtype":
        print('Exiting...')
    except:
        print('Unhandled exception')
        raise
Run Code Online (Sandbox Code Playgroud)

我希望main运行的时候,我实例化Pdbalog对象的行会引发异常(Exception("Invalid Logtype")),而main(except "Invalid Logtype")中的异常处理程序会打印输出字符串"Exiting...".但事实并非如此.它由未处理的异常处理程序处理.最终发生的是"Unhandled exception"输出字符串.为什么不是

    except "Invalid Logtype":
Run Code Online (Sandbox Code Playgroud)

处理异常?

我使用的是旧版本的python(2.4).

python

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

指向引用的指针加上一个数组

我刚读了一些关于指针的问题.这是代码:

int a[5]={1, 2, 3, 4, 5};
int *p = (int*)(&a + 1);//second line
cout<<(*p)<<endl;
Run Code Online (Sandbox Code Playgroud)

我的编译器输出是0.什么是*p?它是指向数组的指针a吗?什么&a+1意思?

c arrays pointers reference

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

python - 我使用*时语法无效

我创建了一个简单的函数来从迭代中解包N个元素.

def drop_first_last(grades):
    grades = first, *middle, last
    return avg(middle)
Run Code Online (Sandbox Code Playgroud)

当我运行此函数时发生以下错误:

grades = first, *middle, last

SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会出现这个错误,如何解决?

python python-2.7

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

在此信号处理程序中会发生什么?

void main ( )
{   int x;
    signal (SIGUSR1, f);
    x= fork ( );
    if (x == -1) exit (1);
    if (x != 0) 
    {   kill (x, SIGUSR1) ;
        sleep (2);
        exit (0);
    }
}
void f ( )
{
    printf ("signal received");
    exit (0);
}
Run Code Online (Sandbox Code Playgroud)

我认为上面的程序要求系统在父进程收到SIGUSR1信号时启动f函数(显示"接收到的信号").但我不确定,请随时纠正或提供更多细节.谢谢你的帮助!

c linux signals

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

在Python中生成二维二进制数组

所以这就是我的尝试

list(itertools.combinations_with_replacement('01', 2))
Run Code Online (Sandbox Code Playgroud)

但这是产生的 [('0', '0'), ('0', '1'), ('1', '1')]

我还需要一个('1','0')元组,有没有办法让itertools也做组合和命令?

python list

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

如何检查浮点字符串?

我有一个包含不规则单词和float数字的列表,我想float从列表中删除所有这些数字,但首先我需要找到一种方法来检测它们.我知道str.isdigit()可以区分数字,但它不能用于float数字.怎么做?

我的代码是这样的:

my_list = ['fun','3.25','4.222','cool','82.356','go','foo','255.224']
for i in my_list:
    if i.isdigit() == True:
        my_list.pop(i)
# Can't work, i.isdigit returns False
Run Code Online (Sandbox Code Playgroud)

python string list

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