首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C++经典算法题-三角、下三角、对称矩阵

48.Algorithm Gossip: 三角、下三角、对称矩阵 说明 三角矩阵矩阵在对角线以下的元素均为0,即Aij = 0,i > j,例如: 1 2 3 4 5 0 6 7 8 9 0 0...10 11 12 0 0 0 13 14 0 0 0 0 15 下三角矩阵矩阵在对角线以上的元素均为0,即Aij = 0,i < j,例如: 1 0 0 0 0 2 6 0 0 0 3 7 10 0...15 三角或下三角矩阵也有大部份的元素不储存值(为0),我们可以将它们使用一维阵列来储存以节省储存空间,而对称矩阵因为对称于对角线,所以可以视为三角或下三角矩阵来储存。...解法 假设矩阵为nxn,为了计算方便,我们让阵列索引由1开始,三角矩阵化为一维阵列,若以列为主,其公式为:loc = n*(i-1) - i*(i-1)/2 + j 化为以行为主,其公式为:loc...公式的导证其实是由等差级数公式得到,您可以自行绘图并看看就可以导证出来,对于C/C++ 或Java等索引由0开始的语言来说,只要将i与j各加1,求得loc之后减1即可套用以上的公式。

2.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

C语言杨辉三角的实现

想必大家在初高中就听过和学过杨辉三角,那么用C语言如何实现呢?...要实现杨辉三角首先得先知道它的特征,以下是我找到的杨辉三角的特点: 1.每行端点与结尾的数为1 2.每行数字左右对称,由1开始逐渐变大 3.第n行的数字有n项 4.每个数字等于一行的左右两个数字之和...可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。...即 C(n+1,i)=C(n,i)+C(n,i-1)  根据这些特点,我们便可以写出杨辉三角的代码:(代码虽长了点,但是步骤清晰) #define _CRT_SECURE_NO_WARNINGS #...{ arr[i][0] = 1; arr[i][i] = 1; arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]; //实现三角形相加

43720
领券