性能测试-Armadillo(OpenBLAS),Eigen3,numpy,QR分解

微信公众号:科文路。转发须注明出处。

想一窥两个 C++ 矩阵库的性能,写了个程序,对比测试了下两个库在 QR 分解上的计算时间。

为了不让错误的结论影响他人,诚邀勘误。

声明:请勿将此文作为严肃文章参考!Notice: This article is not rigorous!

Read more

编程珠玑-错误的二分查找算法(下)

微信公众号:科文路。转发须注明出处。

源自《编程珠玑》第 2 版第 5 章,《编程小事》

(上)部分主要介绍二分查找算法原理以及一些编程理念,(中)讲解测试方法,并揪出错误,(下)部分通过运行时间分析来验证算法时间复杂度。

Read more

编程珠玑-错误的二分查找算法(中)

微信公众号:科文路。转发须注明出处。

源自《编程珠玑》第 2 版第 5 章,《编程小事》

(上)部分主要介绍二分查找算法原理以及一些编程理念,(中)讲解测试方法,并揪出错误,(下)部分通过运行时间分析来验证算法时间复杂度。

本文较长,但值得细读、学习、思考。

Read more

一份历久弥新的C++书单

微信公众号:科文路。转载须注明出处。

你多半会收藏,但收藏了记得看!

原回答:The Definitive C++ Book Guide and List

这个回答非常棒,其也是我学习的参照。下文几乎来自原文,但内容描述有我个人的见解。

This question attempts to collect the few pearls among the dozens of bad C++ books that are published every year.

Read more

编程珠玑-错误的二分查找算法(上)

微信公众号:科文路。转发须注明出处。

源自《编程珠玑》第 2 版第 4 章,《编写正确的程序》

(上)部分主要介绍二分查找算法原理以及一些编程理念,(中)讲解测试方法,值得细读、学习、思考,(下)部分通过运行时间分析来验证算法时间复杂度。

Read more

编程珠玑-从数据出发改善程序

源自《编程珠玑》第 2 版第 3 章,《数据决定程序结构》

引子

为了统计 500 个变量各自出现的频次,你编写了下面这段代码,被同事笑死:

1
2
3
4
if (k == 1) c001++;
if (k == 2) c002++;
// if (k == ...
if (k == 500) c500++;
Read more