C語言中楊氏矩陣與楊輝三角的實現方法

一、楊氏矩陣

楊氏矩陣

1.楊氏矩陣的概念

在數學中,楊表(英語:Young tableau),又稱楊氏矩陣。是對組合表示理論和舒伯特演算很有用的工具。它提供瞭一種方便的方式來描述對稱和一般線性群的群表示,並研究它們的性質。楊表是劍橋大學數學傢 Alfred Young 在1900年推提出。然後,它被弗羅貝尼烏斯應用對稱群的研究中。他們的理論由許多數學傢進一步發展,包括PercyMacMahon、W. V. D. Hodge、G. de B. Robinson、吉安-卡洛·羅塔、Alain Lascoux、Marcel-Paul Schützenberger 和 Richard P. Stanley 等。

2.楊氏矩陣的圖解

3.楊氏矩陣的實現

在一個 n * m 的二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個高效的函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。

代碼如下:

bool findNumberIn2DArray(int** matrix, int matrixSize, int* matrixColSize, int target)
{
    if(matrixSize==0||*matrixColSize==0)
    {
        return false;
    }
    int row=0;
    int col=*matrixColSize-1;
    while(row<matrixSize&&col>=0)
    {
        if(matrix[row][col]>target)
        {
            col--;
        }
        else if(matrix[row][col]<target)
        {
            row++;
        }
        else if(matrix[row][col]==target)
        {
            return true;
        }
    }
    return false;
}

二、楊輝三角

楊輝三角

1.楊輝三角的概念

楊輝三角,是二項式系數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡(1623—-1662)是在1654年發現這一規律的,比楊輝要遲393年,比賈憲遲600年。楊輝三角是中國古代數學的傑出研究成果之一,它把二項式系數圖形化,把組合數內在的一些代數性質直觀地從圖形中體現出來,是一種離散型的數與形的結合。

2.楊輝三角的圖解

3.楊輝三角的實現

給定一個非負整數 numRows,生成楊輝三角的前 numRows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。

代碼如下:

#define _CRT_SECURE_NO_WARNINGS   1
#include<stdio.h>
int** generate(int numRows, int* returnSize, int** returnColumnSizes)
{
	int row = 0;
	int col = 0;
	//ret是一個指針,它指向的是由指針構成的數組,指針指向對應的楊輝三角的一行數;ret也是二維數組
	int** ret = (int**)malloc(sizeof(int*)*numRows);
	//指定要返回的行數
	*returnSize = numRows;
	//分配每一列的具體空間
	*returnColumnSizes = malloc(sizeof(int)*numRows);
	for (row = 0; row < numRows; row++)
	{
		/* 分配楊輝三角中每一行的具體空間 */
		ret[row] = malloc(sizeof(int)* (row + 1));
		// 分配楊輝三角中每一行的列數
		(*returnColumnSizes)[row] = row + 1;
		ret[row][row] = ret[row][0] = 1;
		for (col = 1; col < row; col++)
		{
			ret[row][col] = ret[row - 1][col - 1] + ret[row - 1][col];
		}
	}
	return ret;
}
int main()
{
	return 0;
}

總結

以上就是今天要講的內容,本文僅僅簡單介紹瞭數學中兩個成就由來及代碼實現,這類題目也很常見,我們務必掌握。

到此這篇關於C語言中楊氏矩陣與楊輝三角的實現方法的文章就介紹到這瞭,更多相關C語言楊氏矩陣與楊輝三角內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: