我们在这里不去谈int、float、char等基本数据类型,而是用一般的类来说明。因为Java中可以直接通过 int varName
的方式来定义和使用一个基本类型的变量,但对于其它一般类型的对象,必须使用 new
来创建。
因此,为了更一般性地分析,体现两种语言创建对象的差异,我们用自定义的类[......]
我们在这里不去谈int、float、char等基本数据类型,而是用一般的类来说明。因为Java中可以直接通过 int varName
的方式来定义和使用一个基本类型的变量,但对于其它一般类型的对象,必须使用 new
来创建。
因此,为了更一般性地分析,体现两种语言创建对象的差异,我们用自定义的类[......]
Jupyter Notebook 支持非常多的编程语言,而且可以直接运行这些语言的代码。要让 Jupyter Notebook 能够运行特定语言的代码,需要添加对应的内核。具体支持的语言及内核可以查看该链接:https://github.com/jupyter/jupyter/wiki/Jupyte[......]
boost.python 库提供了便捷的方法来将 C++ 中的函数、类等导入到 Python 中使用,我们只需要添加少量代码,就能 C++ 与 Python 的整合。
将 C++ 代码借助 boost.python 编译成 Python 模块之后,我们可以像导入标准模块那样,将该模块导入,在 Py[......]
Prim 用于找出一个无向连通图的最小生成树(Minimum Spanning Tree)。首先初始化一个空集 S,然后选择一个起点,加入到 S 中。此后不断选择与 S 中的顶点距离最短的顶点,加入到 S 中,并输出这条最短的边。最终,所有点都将被加入到集合 S 中,而被输[......]
链表是常用的基本数据结构之一,属于线性表。同属于线性表的还有顺序表,我们常说的数组就是顺序表。
链表的实现有带表头和不带表头两种方式。最原始的方式,也就是不带表头的实现方式,是用一个指向头结点的指针变量来记录链表的起始位置,当我们要进行插入或删除结点的操作时,必须要针对第[......]