小编Wil*_*ken的帖子

可中断的就地排序算法

我需要在C中编写一个排序程序,如果文件可以在适当的位置排序以节省磁盘空间,那将是很好的.数据很有价值,所以我需要确保如果进程被中断(ctrl-c),文件没有被破坏.我可以保证机器上的电源线不会被拉扯.

额外细节:文件大约40GB,记录是128位,机器是64位,操作系统是POSIX

有关实现此目的的任何提示,或一般说明?

谢谢!

澄清一下:我希望用户想要ctrl-c进程.在这种情况下,我想要优雅地退出并确保数据是安全的.所以这个问题是关于处理中断和选择一个排序算法,如果请求可以快速包装.

跟进(2年后):为了后代,我已经安装了SIGINT处理程序,它运行良好.这不能保护我免受电源故障的影响,但这是我可以处理的风险.代码位于https://code.google.com/p/pawnsbfs/source/browse/trunk/hsort.chttps://code.google.com/p/pawnsbfs/source/browse/trunk/qsort.c

c sorting algorithm quicksort heapsort

13
推荐指数
3
解决办法
471
查看次数

找到给定向量的k-最近邻居?

鉴于我的知识库中有以下内容:

1  0  6 20  0  0  6 20
1  0  3  6  0  0  3  6
1  0 15 45  0  0 15 45
1  0 17 44  0  0 17 44
1  0  2  5  0  0  2  5
Run Code Online (Sandbox Code Playgroud)

我希望能够找到以下向量的最近邻居:

1  0  5 16  0  0  5 16
Run Code Online (Sandbox Code Playgroud)

根据距离度量.所以在这种情况下,给定一个特定的阈值,我应该发现列出的第一个向量是给定向量的近邻.目前,我的知识数据库的大小大约为数百万,因此计算每个点的距离度量,然后进行比较证明是昂贵的.对于如何以显着的加速实现这一目标,还有其他选择吗?

我几乎对任何方法都持开放态度,包括在MySQL中使用空间索引(除了我不完全确定如何解决这个问题)或某种哈希(这将是伟大的,但我不完全确定).

python mysql language-agnostic algorithm search

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

Swift:为什么默认情况下并非所有变量都是懒惰的?

在比较这两个用于定义实例属性的选项时:

var networkManager = NetworkManager.sharedInstance()

var lazy networkManager = NetworkManager.sharedInstance()

都:

  • 可以评估块以获取值
  • 可以内联声明(不是块,如上所述)

懒:

  • 可以参考自我
  • 直到需要时才计算
  • 如果您不使用它,则永远不会计算它

不懒:

  • 没有任何好处

似乎使用非惰性变量没有任何好处.那么为什么语言允许程序员做出这个低劣的选择呢?

(我不是在询问var和let la la之间的区别是默认的Swift常量是懒惰的吗?)

swift

12
推荐指数
3
解决办法
1000
查看次数

PHP PDO for Dummies

我正在寻找一个PHP PDO完整的工作示例,其中包含运行查询和处理错误的最佳实践.这是我到目前为止所拥有的.

正在连接.如果不这样做,则默认情况下,连接失败会将DB凭据公开给站点的所有用户.

try {
    $dbh = new PDO("mysql:host=localhost;dbname=phor_lang", "phor_lang", "'9lsnthsn9");
} catch (PDOException $e) {
    error(false, "PDO ERROR: " . $e->getMessage());
}
Run Code Online (Sandbox Code Playgroud)

用查询

$stmt = $dbh->prepare("INSERT INTO sets");
$stmt->execute()
    or error(0, "USERS ERROR ".__LINE__." ".print_r($dbh->errorInfo(),true));
$setID = $dbh->lastInsertID();
$stmt->closeCursor();

$stmt = $dbh->prepare("INSERT INTO words (language, name, detail, user, type, set) VALUES (?, ?, ?, ?, ?, ?)");
$stmt->execute(array($l1l, $l1w, $l1d, $userID, 'training', $setID))
    or error(0, "USERS ERROR ".__LINE__." ".print_r($dbh->errorInfo(),true));
$stmt->closeCursor();
Run Code Online (Sandbox Code Playgroud)

但是,这会导致查询失败(执行返回false)并且错误消息为空.

php mysql sql pdo

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

人们如何在2013年验证他们的网站?

验证可用网站有多种选择:

但它们都没有最终的功能集:

  • 拦截所有请求,甚至在页面加载之后(HTML,CSS,JS,AJAX,JSON,XML)
  • 在不加载validator.w3c.org或类似的情况下在本地进行所有处理
  • 自动处理,无需"提交"每个资源进行验证
  • 积极开发(与HTML5一起使用)

真正的人在那里使用任何好的工具来使这更容易,或者在IE被消除之前验证没有实际意义吗?

html javascript css validation json

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

在iOS模拟器中停用Google Analytics

Google Analytics正在iOS模拟器中运行.

这会导致控制台日志中的污染,我可以寻找有用的调试信息.此外,发送给Google的数据并不表示使用我们的应用的实际用户.

如何在iOS模拟器中运行应用时禁用Google Analytics报告?

google-analytics ios

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

视图如何更新viewcontroller?

我从CS193P课程中学到了Swift.它建议使用以下API来使ViewController FaceViewController更新其视图FaceView:

var expression = FacialExpression(eyes: .Closed, eyeBrows: .Relaxed, mouth: .Smirk) {
    didSet {
        updateUI() // Model changed, so update the View
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当视图更新自己的模型时,我还没有看到这个概念的扩展.例如,这没有意义:

// Implementing an imaginary delegate UIFaceViewDelegate
func faceView(_ faceView: FaceView, didEpdateExpressionTo expression: FacialExpression {
    self.expression = expression
    // This triggers another update to the view, and possibly infinite recursion
}
Run Code Online (Sandbox Code Playgroud)

在Objective-C中,这非常简单,因为您可以将getter和setter用作公共API,将后备存储用作私有状态.Swift也可以使用计算变量来使用这种方法,但我相信Swift设计师有一些不同的想法.

那么,视图控制器在响应视图更新时表示状态更改的适当方式是什么,同时还为其他人公开合理的读/写API以检查其状态?

model-view-controller ios swift

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

Bootstrap:垂直对齐段落文本和按钮

我在带有按钮a元素的段落中有文本:

<p>
  <a class="btn btn-default" href="#">Take exam</a> 
  <span class="text-muted">Available after reading course material</span>
</p>
Run Code Online (Sandbox Code Playgroud)

但是,这会使两者不垂直对齐.

在此输入图像描述

在这里对齐文本基线的最佳方法是什么?

http://jsfiddle.net/0j20stbh/小提琴

css twitter-bootstrap

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

UITableView重叠iOS7 beta 4上的状态栏

这是一个UITableView,在iOS6中可以正常工作,与iOS7中的状态栏重叠.解决这个问题的最佳方法是什么?使用iOS7 beta 4.此行为自beta 1起存在.

META:抱怨我直接在800-275-2273或Stack Overflow 212-232-8294不遵守NDA给苹果; 或者帮我解决这个问题,这显然优于Apple的论坛.

在此输入图像描述

iphone cocoa-touch uitableview ios

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

128位结构或2个64位记录,用于提高性能和可读性

我在一个大文件(10英寸GB)中排序128位记录.算法工作正常,目前使用uint64_t其中两个等于一个记录.这是一个现代的64位系统.

为了代码可读性,我想知道创建一个类似的结构是否typedef struct u128t {uint64_t hi, uint64_t} u128t可以代替两个64位记录.这将使数组索引和赋值更清晰,但我必须实现比较器函数.

这是一个可移植的解决方案,我应该期望它以与原始实现相同的速度运行吗?

进一步阅读:

c sorting algorithm performance

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