溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在C語言中實(shí)現(xiàn)一個(gè)楊氏矩陣與楊輝三角

發(fā)布時(shí)間:2021-05-08 16:48:05 來源:億速云 閱讀:203 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)怎么在C語言中實(shí)現(xiàn)一個(gè)楊氏矩陣與楊輝三角,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

C語言是什么

C語言是一門面向過程的、抽象化的通用程序設(shè)計(jì)語言,廣泛應(yīng)用于底層開發(fā),使用C語言可以以簡易的方式編譯、處理低級(jí)存儲(chǔ)器。

一、楊氏矩陣

楊氏矩陣

1.楊氏矩陣的概念

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

2.楊氏矩陣的圖解

怎么在C語言中實(shí)現(xiàn)一個(gè)楊氏矩陣與楊輝三角

怎么在C語言中實(shí)現(xiàn)一個(gè)楊氏矩陣與楊輝三角

3.楊氏矩陣的實(shí)現(xiàn)

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

怎么在C語言中實(shí)現(xiàn)一個(gè)楊氏矩陣與楊輝三角

代碼如下:

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.楊輝三角的概念

楊輝三角,是二項(xiàng)式系數(shù)在三角形中的一種幾何排列。在歐洲,這個(gè)表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年發(fā)現(xiàn)這一規(guī)律的,比楊輝要遲393年,比賈憲遲600年。楊輝三角是中國古代數(shù)學(xué)的杰出研究成果之一,它把二項(xiàng)式系數(shù)圖形化,把組合數(shù)內(nèi)在的一些代數(shù)性質(zhì)直觀地從圖形中體現(xiàn)出來,是一種離散型的數(shù)與形的結(jié)合。

2.楊輝三角的圖解

怎么在C語言中實(shí)現(xiàn)一個(gè)楊氏矩陣與楊輝三角

怎么在C語言中實(shí)現(xiàn)一個(gè)楊氏矩陣與楊輝三角

怎么在C語言中實(shí)現(xiàn)一個(gè)楊氏矩陣與楊輝三角

3.楊輝三角的實(shí)現(xiàn)

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

怎么在C語言中實(shí)現(xiàn)一個(gè)楊氏矩陣與楊輝三角

代碼如下:

#define _CRT_SECURE_NO_WARNINGS   1
#include<stdio.h>
int** generate(int numRows, int* returnSize, int** returnColumnSizes)
{
	int row = 0;
	int col = 0;
	//ret是一個(gè)指針,它指向的是由指針構(gòu)成的數(shù)組,指針指向?qū)?yīng)的楊輝三角的一行數(shù);ret也是二維數(shù)組
	int** ret = (int**)malloc(sizeof(int*)*numRows);
	//指定要返回的行數(shù)
	*returnSize = numRows;
	//分配每一列的具體空間
	*returnColumnSizes = malloc(sizeof(int)*numRows);
	for (row = 0; row < numRows; row++)
	{
		/* 分配楊輝三角中每一行的具體空間 */
		ret[row] = malloc(sizeof(int)* (row + 1));
		// 分配楊輝三角中每一行的列數(shù)
		(*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;
}

關(guān)于怎么在C語言中實(shí)現(xiàn)一個(gè)楊氏矩陣與楊輝三角就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI