小编McP*_*inM的帖子

何时可以在没有RTTI的情况下编译c ++会导致问题?

我正在使用gcc的-fno-rtti标志来编译我的C++而没有运行时类型信息.

假设我没有使用dynamic_cast<>typeid(),有什么东西可以引导我以后出现问题吗?

c++ gcc rtti

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

在Rust中,如何创建在自己的OS线程中运行的任务?

这个问题已不再适用:锈绿色线程已经消失.所有任务都对应一个线程.

Rust任务在运行时管理的线程池中运行.

我通过将阻止的FFI调用一些代码,我将在紧密的循环中执行它.

如何在自己的OS线程上生成任务?

这两个问题是线程在其线程上保持调度,并且工作窃取调度程序不会在此线程上带来额外的工作.

multithreading task rust

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

c ++内置的效率

我是C++的新手,拥有更多的C经验.

我正在编写一个将使用字符串类的程序,并开始怀疑"length()"方法的效率.

我意识到虽然我对这个问题没有一个好的答案,所以想知道这个和类似问题的答案是否存在于某个地方.虽然我能够确定自己代码的运行时间,但在提供代码方面我有点不知所措,所以我发现我无法准确判断程序的效率.

是否有c ++文档(在线或"man"格式)包含有关所提供代码的运行时的信息?

编辑:我一般对此感兴趣,而不仅仅是string :: length.

c++ documentation performance

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

更有效的交叉路口计算方法?

我有一个300000列表(光纤轨道)的列表,其中每个轨道是(x,y,z)元组/坐标的列表:

tracks=
[[(1,2,3),(3,2,4),...]
 [(4,2,1),(5,7,3),...]
 ...
]
Run Code Online (Sandbox Code Playgroud)

我还有一组蒙版,其中每个蒙版被定义为(x,y,z)元组/坐标的列表:

mask_coords_list=
[[(1,2,3),(8,13,4),...]
 [(6,2,2),(5,7,3),...]
 ...
]
Run Code Online (Sandbox Code Playgroud)

我试图找到所有可能的面具对:

  1. 与每个掩码 - 掩码对相交的轨道数(以创建连接矩阵)
  2. 与每个蒙版相交的轨道子集,以便为子集中的每个轨道的每个(x,y,z)坐标添加1(以创建"密度"图像)

我现在正在做第1部分:

def mask_connectivity_matrix(tracks,masks,masks_coords_list):
    connect_mat=zeros((len(masks),len(masks)))
    for track in tracks:
        cur=[]
        for count,mask_coords in enumerate(masks_coords_list):
            if any(set(track) & set(mask_coords)):
                cur.append(count)
            for x,y in list(itertools.combinations(cur,2)):
                connect_mat[x,y] += 1
Run Code Online (Sandbox Code Playgroud)

和第2部分一样:

def mask_tracks(tracks,masks,masks_coords_list):
    vox_tracks_img=zeros((xdim,ydim,zdim,len(masks)))
    for track in tracks:
        for count,mask in enumerate(masks_coords_list):
            if any(set(track) & set(mask)):
                for x,y,z in track:
                    vox_tracks_img[x,y,z,count] += 1
Run Code Online (Sandbox Code Playgroud)

使用集合查找交叉点已大大加快了这一过程,但当我有70个或更多掩码的列表时,这两个部分仍然需要一个多小时.有没有比为每个轨道迭代更有效的方法?

python algorithm set

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

作业:二叉树 - 级别顺序的交叉

有没有办法访问从最低级别到较高级别(根)的二叉树?

不是从根级到最低级!!!

(而不是使用水平顺序遍历和堆栈...... !!!)<---它的对面..

太难了......谢谢!

algorithm binary-tree

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