问题标签 [programming-pearls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
14994 浏览

modulo - 为什么模数运算符很慢?

从“Programming Pearls”一书中转述(关于旧机器上的 c 语言,因为这本书是 90 年代后期的):

整数算术运算 ( +, -, *) 可能需要大约 10 纳秒,而%运算符最多需要 100 纳秒。

  • 为什么会有这么大的区别?
  • 模数运算符如何在内部工作?
  • /就时间而言,它与除法( )相同吗?
0 投票
1 回答
154 浏览

algorithm - 编程珍珠:第 9.3 列二分搜索 - 范围初始化

在第 9.3 节中,Job Bentley 提出了一种修改后的二分搜索。

9.3 中显示的典型实现和更好方法的简短片段

与不同不变量的修改/有效比较..

在循环之外,检查索引处的键是否为“高”。在修改后的二分搜索中,左索引“low”从-1(而不是0)开始,“high”索引从n(而不是n-1)开始......并且循环运行

即使我设置低 = 0 和高 = n-1,这个修改后的搜索似乎也有效。

但我宁愿不要在他的代码中猜测 Job Bentley。那么他为什么将 low 设置为 -1 而 high 设置为 n 呢?是否有任何极端情况只能这样工作?

0 投票
1 回答
424 浏览

c - "Programming Pearls": conflicting types for qsort

This is the solution of Programming Pearls in column 1.6_1:

Error message:

conflicting types for "qsort"

Can you tell me why could that happen? Isn't it defined by default?

My compiler is Xcode (MacOS).

0 投票
1 回答
66 浏览

matlab - 如何使用 PERL 脚本导入 Matlab 文本文件?

我尝试导入巨大的文本文件(约 500 万行)。我尝试使用此脚本

“importFile.pl”在哪里

但什么也没发生!我的错误是什么???或者你能建议类似(和快速)的解决方案吗?

Matlab R2014a 64位

0 投票
1 回答
54 浏览

python - Python数据结构内存占用表现奇怪

我正在尝试编程珍珠之一:

给定一个最多包含一千万个没有重复的 7 位整数的文件。仅使用 1.5Mb RAM 并仅读取一次数据以升序打印这些数字的有效方法是什么?只有 1Mb 的 RAM 而没有其他存储的后果是什么?如果允许重复,您的答案将如何变化?

为了创建一个测试用例,我生成了 8999999 个数字并将它们写入一个文件。然后对于每一行,我开始将相同的插入到树中,最后创建一个 trie 结构。

示例代码:

示例文件 data2.txt 有 20 条记录

生成的树是

生成的树

现在的问题是,当我对构建的树进行内存大小调整时,它在 20 行显示了 240 字节的内存占用空间

在 100 行,树的大小变为 368 字节

在 8999999 行也给出 368 个字节

我建立了一个名为的辅助地图xtree,它只提供数据

xtree 和 tree 的大小以字节为单位。

数据分析

谁能解释一下这是怎么回事..??

0 投票
2 回答
184 浏览

regex - 替换文件中的第 N 个字符串匹配项

因此,我找到了许多解决方案来sed s/regexFind/replacement/n替换一行中第 n 次出现的单词。

例如s/hello hello hello/world/2>hello world hello

然而,我想要做的是更新文件中第三个匹配项的更新。

基本上期望是sed -i s/Hello/world/2 $filename将文件内容替换为:

然而,这种情况并非如此。有什么建议么?

我希望不使用 Python 风格的 read-every-line 解决方案,因为我希望替换子字符串的文件不是 UTF-8。

0 投票
0 回答
37 浏览

java - 如何识别序列的编号以跨 4 个数据中心生成唯一值

我有三个数据中心,其中有 3 个使用 Golden Gate 进行复制的 Oracle 数据库。每个数据库都有触发序列机制来生成主键。我们正在使用数据库向架构中添加一个数据中心。

我们用来避免冲突的逻辑是将序列值从 3 增加 4,以便在使用 Golden Gate 复制事务时不会产生冲突。

例如

问题陈述 - 克隆 DB4 之后,我需要找出我应该用哪个确切的数字开始我的序列,以便在 DB4 中生成的值是唯一的并且不会产生冲突。

序列的 DB 中的实际值。

如果有人可以帮助提供可用于所有序列的逻辑,那将非常有帮助。

问候,兰斯里克。

0 投票
4 回答
88 浏览

linux - shell脚本中的算术运算

我的 shell 脚本看起来像这样,

因为 5/12 的结果是 0.416,然后是 0.416*100,它应该给出 41.6,但我得到的“successRate”为 0。它对浮点值进行了四舍五入。

我希望最终结果应该是这样的 41,请帮助我谢谢

0 投票
1 回答
95 浏览

tcl - TCL中的-quiet是什么

如果陈述给出真假,我需要以下内容,还请解释“安静”

什么是给予?注意:- $sourceI_TEST_MODE4.

0 投票
2 回答
69 浏览

unix - 从制表符分隔的文件中删除带有模式的字符

我有带有模式的保存文件,例如

NODE_1_length_59711_cov_84.026979_g0_i0_1 12.8
NODE_1_length_59711_cov_84.026979_g0_i0_2 18.9
NODE_2_length_59711_cov_84.026979_g0_i0_1 14.3
NODE_2_length_59711_cov_84.026979_g0_i0_2 16.1
NODE_165433_length_59711_cov_84.026979_g0_i0_1 29

我想删除从“1”开始到最后一个“_”的所有字符。这样我就可以从多个文件中获得这样的输出-

1_1 12.8
1_2 18.9
2_1 14.3
2_2 16.1
165433_1 29