我已经回到C中了解某些东西,但是我很难记住这种内存管理的工作原理.我想要一个指向结构指针数组的指针.
说我有:
struct Test {
int data;
};
Run Code Online (Sandbox Code Playgroud)
那么数组:
struct Test **array1;
Run Code Online (Sandbox Code Playgroud)
它是否正确?我的问题是处理这件事.因此,数组中的每个指针都指向单独分配的内容.但我认为我需要先做到这一点:
array1 = malloc(MAX * sizeof(struct Test *));
Run Code Online (Sandbox Code Playgroud)
我无法理解上述内容.我需要这样做,为什么我需要这样做?特别是,如果我要为指针指向的每个东西分配内存,为指针分配内存意味着什么?
现在说我有一个指向结构指针数组的指针.我现在希望它指向我之前创建的相同数组.
struct Test **array2;
Run Code Online (Sandbox Code Playgroud)
我是否需要像上面那样为指针分配空间,或者我可以这样做:
array2 = array1
Run Code Online (Sandbox Code Playgroud) 我在生成不遵循离散均匀分布的随机数时遇到了麻烦.
例如,假设我有5个数字(为了保持简单),生成数字k的概率为k/15.(k = 1到5)
我的想法是使用rand()生成一个随机数j,如果这个数字j是:
1 =>然后生成数字1
2或3 => num 2
4或5或6 => num 3
7或8或9或10 => num 4
11或12或13或14或15 =>数字5
现在将其缩放为生成1-10,1-100,1-1000.这是否按照我打算的方式工作?我已经构建了一个循环,每次需要生成一个数字时都会这样做,我认为它可能是低效的,因为它一直上升,直到找到在其中一个范围内生成的j数...有什么可能是更好的方法去做这个?
编辑:或者可能使用正确的数字创建一个数组,然后使用rand()更好的解决方案?
在什么条件下,霍夫曼编码使字符串不可压缩?当所有角色以相同的频率/概率出现时?如果是这样,那怎么能证明这是真的呢?
码:
int random = (rand() % 7 + 1)
if (random == 1) { } // num 1
else if (random == 2) { } // num 2
else if (random == 3 || random == 4) { } // num 3
else if (random == 5 || random == 6) { } // num 4
else if (random == 7) { } // num 5
Run Code Online (Sandbox Code Playgroud)
基本上我希望这些数字中的每一个具有以下每个概率:1:1/7 2:1/7 3:2/7 4:2/7 5:1/7
这段代码会给我正确的结果吗?即如果这是无限次运行,我会获得正确的频率吗?这样做的方法不那么冗长吗?
我需要弄清楚是否重新启动该警报,因为它是一个定时的服务器轮询,但应该只有一个该警报的实例.
我正在努力解决复发问题T(n) = T(n/8) + T(n/2) + T(n/4)
.
我认为首先尝试使用递归树方法,然后将其用作我对替换方法的猜测是个好主意.
对于树,因为在非叶级别没有工作,我认为我们可以忽略它,所以我试图在叶子的#上面提出一个上限,因为这是唯一相关的东西.
我认为树的高度是最长的路径T(n/2)
,它产生的高度为log2(n)
.那么我想树完成后,与各级充满(即我们有3T(n/2))
,所以我们必须3^i
在每一个级别的节点,所以n^(log2(3))
离开.T(n)
然后将O(n^log2(3))
.
不幸的是,我认为这是一个不合理的上限,我想我已经让它有点太高了......关于如何解决这个问题的任何建议?
我还是Ruby的新手,并尝试使用HTTParty gem来帮助我编写一个API包装器.我提供HTTParty ::获取URI并解析JSON数据.从快速浏览和返回结果的行为方式来看,它看起来像哈希,但是它呢?我似乎无法在网上找到信息.StackOverflow上的另一篇文章显示使用HTTParty :: get(...).parsed_response来获取Hash,但这似乎已经过时了.
c++ ×2
probability ×2
random ×2
alarm ×1
alarmmanager ×1
android ×1
big-o ×1
c ×1
compression ×1
distribution ×1
httparty ×1
huffman-code ×1
json ×1
math ×1
memory ×1
parsing ×1
pointers ×1
recurrence ×1
ruby ×1
string ×1