最近《离散数学》老师突发奇想让我们用程序完成课本作业……总体而言,其实蛮简单只要理清解题过程即可,根本没用到什么特殊的算法……无非也就动态分配数組
要算的,就算出不同长度下的通路、回路个数或者可达矩阵,如果后期要再加上什么我会再补充修改的。
!!! 注意一定要看变量或函数的英文意思,因为有时候我写多了感觉注释太多就删掉了注释,英文名是最好的注释!! TK
有几个变量通常不会改变比如**matrixArray,指的是設置的矩阵matrixSize指的是矩阵的阶数。
题目就一个有向图、无向图那么怎么计算通路或回路个数呢?很简单
说是这么说,实际我并不全这么写比如为了省事,我把“再次选择计算方式”的循环去掉了
另外,为什么所有计算方法都指向一个矩阵乘积的函数呢
因为,这个函数决定了绝大部分的内容不同的计算方式都通过该函数得到想要的那个长度下的矩阵,接着財对得到的矩阵进行求和、统计、拆分之类的功能
为什么矩阵乘积函数返回的是空值void?
因为在几乎每个计算函数里面都初始化了一个二維指针数组这个是临时的指针,动态分配的数组这个指针用于传递给矩阵乘积函数,矩阵乘积函数直接就可以修改指针指向的值而鈈需要返回任何东西,所以这个矩阵乘积函数的返回值是void同样的,有的函数甚至还设置了接收指针这些指针的作用也是一样的,或者說是类似的凑合着听懂就行。
其实就是用于设置循环啊、矩阵阶数等一些最基本的东西。
注意使用该函数会直接改变传入的矩阵指针。