Graphviz - 自动图形绘制软件

Graphviz 是什么 Graphviz 是一个开源的、用文本描述来绘制关系图、网络图的工具包。不需要用鼠标拖拽画图,而是用简单的文本语言(主要是 DOT 语言)描述图中的点和线(节点和边),然后 Graphviz 自动计算布局并生成图片。 ...

 发布时间: 2025-08-17

Algorithm - P、NP、NPC和NP-Hard问题

先用几句话简单说明一下时间复杂度。**时间复杂度并不是表示一个程序解决问题需要花多少时间,而是当问题规模扩大后,程序运行需要的时间增长得有多快。**也就是说,对于高速处理数据的计算机来说,处理某一个特定数据的效率不能衡量一个程序的好坏,而应该看当这个数据的规模变大到数百倍后,程序运行时间是否还是一样,或者也跟着慢了数百倍,或者变慢了数万倍。不管数据有多大,程序处理花的时间始终是一样的,我们就说这个程序很好,具有 $O(1)$ 的时间复杂度,也称常数级复杂度;数据规模变得有多大,花的时间也跟着变得有多长,这个程序的时间复杂度就是 $O(n)$,比如找 $n$ 个数中的最大值;而像冒泡排序、插入排序等,数据扩大 $2$ 倍,时间变慢 $4$ 倍的,属于 $O(n^2)$ 的复杂度。还有一些穷举类的算法,所需时间长度成几何阶数上涨,这就是 $O(a^n)$ 的指数级复杂度,甚至 $O(n!)$ 的阶乘级复杂度。不会存在 $O(2n^2)$ 的复杂度,因为前面的那个 $2$ 是系数,根本不会影响到整个程序的时间增长。同样地,$O (n^3+n^2)$ 的复杂度也就是 $O(n^3)$ 的复杂度。因此,我们会说,一个 $O(0.01n^3)$ 的程序的效率比 $O(100n^2)$ 的效率低,尽管在 $n$ 很小的时候,前者优于后者,但后者运行所需的时间随数据规模增长得慢,最终 $O(n^3)$ 的复杂度将远远超过 $O(n^2)$。我们也说,$O(n^{100})$ 的复杂度小于 $O(1.01^n)$ 的复杂度。 ...

 发布时间: 2025-08-17

Academic - 搭建学术主页

需求来源 这个需求来源于我想要在当前博客的页面中添加一个用于展示学术成果的页面,但是当前博客使用的框架是Hexo,主题是Fluid,而想用的学术页面的框架是基于Jekyll的 luost26/academic-homepage,因此需要在我的Github Page部署两个不同的框架,即Hexo和Jekyll。目前的想法是将用于学术成果展示的页面部署在博客的一个子页面下。 ...

 发布时间: 2025-07-29

Academic - 初入学术殿堂

文献相关 检索引擎 主要的搜索引擎: 中国知网 (cnki.net) - 著名垄断机构,不多介绍 Document Search - All Databases (webofscience.com) - 主要用来查英文文献 {% fold info @web of science %} 硕博士应该知道的Web of Science文献检索与分析技巧 - 知乎 (zhihu.com) Web of Science的基本检索技巧 ...

 发布时间: 2024-10-30

Zotero - 学术文献管理神器

Zotero 是什么 简单来说,Zotero 就是一款免费、可拓展的 PDF (主要是学术文献)管理工具。更多的介绍在网上有很多,可以看看 官网的介绍。 注意甄别网上的教程,因为 Zotero 更新到 Zotero 7 之后增加了很多功能和特性,有很多插件已经不再维护,很多教程也已经过期了。 ...

 发布时间: 2024-10-29