小编skr*_*obo的帖子

为什么基数排序的空间复杂度为O(k + n)?

考虑一个n数字具有最大k数字的数组(请参阅编辑).从这里考虑基数排序程序:

def radixsort( aList ):
  RADIX = 10
  maxLength = False
  tmp, placement = -1, 1

  while not maxLength:
    maxLength = True
    # declare and initialize buckets
    buckets = [list() for _ in range( RADIX )]

    # split aList between lists
    for  i in aList:
      tmp = i / placement
      buckets[tmp % RADIX].append( i )
      if maxLength and tmp > 0:
        maxLength = False

    # empty lists into aList array
    a = 0
    for …
Run Code Online (Sandbox Code Playgroud)

python sorting algorithm radix-sort space-complexity

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

C++ - std :: array类型的2d矩阵的定义

我想定义两个2d矩阵:ff_transpose类型:std::array <std::array <float, 3>, dim>std::array <std::array <float, dim>, 3>.价值dim23.

我希望元素f[0][0],f[1][1],f[2][2],f_transpose[0][0],f_transpose[1][1]f_transpose[2][2]1和其余元素0.

这些数组是全局变量,我尝试了以下内容:

static array <array <float, 3>, dim> f = {{{{1}}, {{0, 1}}, {{0, 0, 1}}}};
static array <array <float, dim>, 3> f_transpose = {{{{1, 0, 0}}, {{0, 1, 0}}, {{0, 0, 1}}}};
Run Code Online (Sandbox Code Playgroud)

这确实给了我1必要的地方,但应该是的一些值01-1.我的理解是,任何未定义的内容都将被考虑0 …

c++ matrix c++11 stdarray

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

调用 CMake 是否等同于 ./configure 步骤?

我知道要从源代码编译和安装某些东西,在 Unix 系统中,涉及的三个步骤是:

1) ./configure

2) make

3) make install

从源码查看OpenCV的安装,发现没有./configure步骤,但是有cmake步骤。这给了我cmake相当于./configure. 我还读到cmake可以生成构建系统,例如Makefiles,这就是该./configure步骤的作用。

但是,这篇文章(参见 的第一段what is the difference?)说它也cmake执行实际构建。如果是这种情况,为什么 OpenCV 安装会指示makeafter cmake?另外,我经常看到它cmake与 相比make,而不是./configure。那么,cmake实际上适合在哪里?

configuration cmake

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

Lua - 理解setmetatable

我正在尝试构建一个CNN使用Torch 7. 我很新Lua。我试图点击此链接。我遇到了setmetatable以下代码块中调用的内容:

setmetatable(train_set, 
{
  __index = function(t, i) 
    return {t.data[i], t.label[i]}
  end
});
Run Code Online (Sandbox Code Playgroud)

我知道第二个参数充当 table 的元表train_set

1)是t元表还是t只是另一个名称train_set

2)每当一个函数用于反对 时__index,解释器是否假设第一个参数(t)是一个表(或元表,取决于第一个问题的答案)?第二个参数总是 orkeyindex

3)我的理解是,如果我使用train_set.data[1],它将调用__index. 这里的答案是当表中不存在__index时调用。key但与t.data[1]相同train_set.data[1]?如果是这样,口译员怎么知道这一点?

lua metatable lua-table torch

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

Gstreamer / RTSP - 创建管道以减少由于 rtpjitterbuffer 导致的延迟

我正在访问RTSPVIRB 360 摄像机的视频流。我可以使用以下gstreamer命令播放流:

gst-launch-1.0 -v playbin uri=rtsp://192.168.0.1/livePreviewStream?maxResolutionVertical=720\&liveStreamActive=1
Run Code Online (Sandbox Code Playgroud)

但是,流式传输存在3 秒的延迟,需要消除该延迟。上述命令的输出(由于-v)已上传至此处我还按照此问题/答案.svg中描述的方法为管道创建了一些文件。这些文件已上传至此处。我相信并代表完整的管道(多个文件是由单个管道生成的,这就是多个文件的原因)。在文件中,可以看到下面有一个.mypipeline4.svgmypipeline5.svgdot.svg.svglatency=2000rtpjitterbuffer

计划是通过手动添加组件而不是使用 来构建相同的管道playbin,然后设置 的延迟属性rtpjitterbuffer。我尝试过以下命令:

1)gst-launch-1.0 rtspsrc location=rtsp://192.168.0.1/livePreviewStream?maxResolutionVertical=720\&liveStreamActive=1 ! udpsrc ! rtpsession ! rtpssrcdemux ! rtpjitterbuffer ! rtpptdemux ! queue ! udpsink ! queue ! rtph264depay ! h264parse ! omxh264dec ! playsink

2)gst-launch-1.0 rtspsrc location=rtsp://192.168.0.1/livePreviewStream?maxResolutionVertical=720\&liveStreamActive=1 ! udpsrc ! rtpsession ! rtpssrcdemux ! rtpjitterbuffer ! rtpptdemux …

pipeline rtp rtsp gstreamer h.264

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

C++ - 为什么在以下情况下我必须包含 .cpp 文件和 / 而不是 .h 文件来访问全局变量的值?

我试图在单独的文件中正确声明和定义全局变量,并将它们包含在处理类声明的第三个文件中。

这三个文件是:

1) global.h

#ifndef GLOBAL_H_INCLUDED
#define GLOBAL_H_INCLUDED

extern const int marker_num;
extern const int dim;

using namespace std;

#endif // GLOBAL_H_INCLUDED
Run Code Online (Sandbox Code Playgroud)

2) global.cpp

#include <iostream>
#include <cstdio>
#include <cmath>
#include "global.h"
#include "WorldState.h"
#include "Robot.h"
#include "Sensor.h"
#include "Marker.h"   

constexpr const int marker_num = 10;
constexpr const int dim = (2 * marker_num) + 3;
Run Code Online (Sandbox Code Playgroud)

3) WorldState.h

#ifndef WORLDSTATE_H
#define WORLDSTATE_H
#include "global.h"
#include "global.cpp"

class WorldState{

    public:
        WorldState(float a[], float b[dim][dim]);
        get_wstate();

    protected:

    private:
        float w_state[];
        float covar_matrix[dim][dim]; …
Run Code Online (Sandbox Code Playgroud)

header class global-variables multidimensional-array c++11

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

cmake - 何时在CMakeLists.txt文件中包含include_directories

我有一个C++项目,其中我有以下行:

#include <curl/curl.h>
Run Code Online (Sandbox Code Playgroud)

我正在使用该CURL库从传感器访问IMU数据.我准备了一个CMakeLists.txt看起来像这样的文件:

cmake_minimum_required(VERSION 3.5.1)
project(imu_data_access_cmake_test)
set(CMAKE_CXX_STANDARD 11)
find_package(CURL REQUIRED)
include_directories(${CURL_INCLUDE_DIRS})
set(SOURCES imu_data_access.cpp ${CURL_INCLUDE_DIRS}/curl/curl.h)
add_executable(imu_data_access_cmake_test ${SOURCES})
#add_executable(imu_data_access_cmake_test imu_data_access.cpp)
target_link_libraries(imu_data_access_cmake_test ${CURL_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)

这非常有效.但是,如果我删除该include_directories行并修改该add_executable行以仅使用my imu_data_access.cpp作为源,cmake则不会抛出错误,一切仍然有效.我假设这是由于target_link_libraries线.

如何知道是否应该使用include_directories或包含库target_link_libraries?如果包/库有一个.so文件,我们可以简单地忽略include_directories该包/库吗?

编辑:如何知道是否应该使用include_directoriesvs. 包含库target_link_libraries

c++ curl makefile cmake

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

C++ 哈希表 - 如何解决 unordered_map 与自定义数据类型作为键的冲突?

我定义了一个名为的类,该类Point将用作unordered_map. 所以,我operator==在类中提供了一个函数,我还提供了一个template specializationfor std::hash。根据我的研究,这是我认为必要的两件事。相关代码如图:

class Point
{
    int x_cord = {0};
    int y_cord = {0};
public:
    Point()
    {

    }
    Point(int x, int y):x_cord{x}, y_cord{y}
    {

    }
    int x() const
    {
        return x_cord;
    }
    int y() const
    {
        return y_cord;
    }
    bool operator==(const Point& pt) const
    {
        return (x_cord == pt.x() && y_cord == pt.y());
    }
};

namespace std
{
    template<>
    class hash<Point>
    {
    public:
        size_t operator()(const Point& pt) const
        {
            return …
Run Code Online (Sandbox Code Playgroud)

c++ unordered-map hashmap user-defined-types hash-collision

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

CMake - 如何在 OpenCV-C++ 项目中包含和链接 Pylon 库

我正在尝试从与Jetson TX1(Ubuntu 16.04)接口的 Basler 相机访问图像。我正在OpenCV-C++Pylon图书馆一起使用这样做。我正在尝试链接Pylonusing cmake。我有以下CMakeLists.txt文件:

cmake_minimum_required(VERSION 3.5.1)
project(basler_test)
set(CMAKE_CXX_STANDARD 14)
#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl, -E")
find_package(OpenCV REQUIRED)
include_directories(/opt/pylon5/include)
link_directories(/opt/pylon5/lib64)
add_executable(basler_test basler_test.cpp)
target_link_libraries(basler_test ${OpenCV_LIBS} /opt/pylon5/include/pylon/PylonIncludes.h)
Run Code Online (Sandbox Code Playgroud)

cmake .命令工作正常,但当我这样做时make,它给出:

fatal error: pylon/Platform.h: No such file or directory compilation terminated

我检查了上面的文件,它确实与PylonIncludes.h. 所以,我相信这个错误是因为在CMakeLists.txt. 我没有足够的经验来创建它们来确定问题所在。请帮忙。

这是源文件的相关部分: basler_test.cpp

//This is a test program to check the functionality of Basler dart daA2500-14uc Camera.  

#define saveImages 0
#define recordVideo 1 …
Run Code Online (Sandbox Code Playgroud)

c++ linker opencv cmake

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

Teradata - 将 Varchar 与十进制进行比较

我对一般来说都很Teradata陌生SQL。我需要通过组合三个表中的数据来创建一个表。我能够成功地加入其中的两个。我无法正确编写第三个表的连接条件。这是代码:

select s.cola, s.colb, 
t.colc, t.cold,
u.cole, u.colf, u.colg, u.colh, u.coli, u.colj, u.colk, u.coll
from table1 s 
inner join table2 t
on s.colb = t.colc
inner join table3 u
on t.cold = cast(u.colm as decimal)
order by 3
where substr(cast(s.cola as varchar(10)),6,2) = 11 and substr(cast(s.cola as varchar(10)),1,4) = 2017 and substr(cast(s.cola as varchar(10)),9,2) between 06 and 10
Run Code Online (Sandbox Code Playgroud)

我收到的错误是:

[Teradata Database] [2620] The format or data contains a bad character.

我认为问题出在这一行:on t.cold = cast(u.colm as …

sql inner-join teradata

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

C++ - int main中的argv []是否总是char*类型(如果使用argv则为char**)?

我知道,因为argc是参数的数量,它可以是一个int.但为什么应该argvchar pointer类型?这是否意味着我无法传递整数参数并argv[1]在数学运算中使用?

编辑:为了使它更清晰,是否可以写出像int* argv[].是否argv已定义为char*无法更改的类型?

c++ program-entry-point char command-line-arguments

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

C++ - 在类中包含不是类对象属性的变量是不好的做法吗?

假设我有一个Sensor如下所示的课程:

class Sensor
{
    public:
        Sensor();
        array <float, 3> marker_pos(float, float, float);

    private:
        float range;
        float phi;
        array <float, 3> temp;
        int flag = 0;
};
Run Code Online (Sandbox Code Playgroud)

变量rangephi是属性或传感器对象的变量.但变数tempflag只是正常的变量,这些变量的函数内使用marker_pose.

1.在课程中定义/声明tempflag内部是不好的做法?

2.如果我在函数内定义/声明它们marker_pose,每次调用该函数时都会定义它.这是一个好主意吗?

3.在这种情况下,最佳做法是什么?

c++ variables class definition

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