C語言中楊氏矩陣與楊輝三角的實現(xiàn)方法
一、楊氏矩陣
1.楊氏矩陣的概念
在數(shù)學中,楊表(英語:Young tableau),又稱楊氏矩陣。是對組合表示理論和舒伯特演算很有用的工具。它提供了一種方便的方式來描述對稱和一般線性群的群表示,并研究它們的性質。楊表是劍橋大學數(shù)學家 Alfred Young 在1900年推提出。然后,它被弗羅貝尼烏斯應用對稱群的研究中。他們的理論由許多數(shù)學家進一步發(fā)展,包括PercyMacMahon、W. V. D. Hodge、G. de B. Robinson、吉安-卡洛·羅塔、Alain Lascoux、Marcel-Paul Schützenberger 和 Richard P. Stanley 等。
2.楊氏矩陣的圖解
3.楊氏矩陣的實現(xiàn)
在一個 n * m 的二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個高效的函數(shù),輸入這樣的一個二維數(shù)組和一個整數(shù),判斷數(shù)組中是否含有該整數(shù)。
代碼如下:
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.楊輝三角的概念
楊輝三角,是二項式系數(shù)在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年發(fā)現(xiàn)這一規(guī)律的,比楊輝要遲393年,比賈憲遲600年。楊輝三角是中國古代數(shù)學的杰出研究成果之一,它把二項式系數(shù)圖形化,把組合數(shù)內(nèi)在的一些代數(shù)性質直觀地從圖形中體現(xiàn)出來,是一種離散型的數(shù)與形的結合。
2.楊輝三角的圖解
3.楊輝三角的實現(xiàn)
給定一個非負整數(shù) numRows,生成楊輝三角的前 numRows 行。在楊輝三角中,每個數(shù)是它左上方和右上方的數(shù)的和。
代碼如下:
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int** generate(int numRows, int* returnSize, int** returnColumnSizes) { int row = 0; int col = 0; //ret是一個指針,它指向的是由指針構成的數(shù)組,指針指向對應的楊輝三角的一行數(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; }
總結
以上就是今天要講的內(nèi)容,本文僅僅簡單介紹了數(shù)學中兩個成就由來及代碼實現(xiàn),這類題目也很常見,我們務必掌握。
到此這篇關于C語言中楊氏矩陣與楊輝三角的實現(xiàn)方法的文章就介紹到這了,更多相關C語言楊氏矩陣與楊輝三角內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C++ 手把手教你實現(xiàn)可變長的數(shù)組實現(xiàn)
這篇文章主要介紹了C++ 手把手教你實現(xiàn)可變長的數(shù)組實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12Windows 環(huán)境下使用 Qt 連接 MySQL
這篇文章主要介紹了Windows 環(huán)境下使用 Qt 連接 MySQL的相關資料,需要的朋友可以參考下2017-07-07詳解C++ 編寫String 的構造函數(shù)、拷貝構造函數(shù)、析構函數(shù)和賦值函數(shù)
這篇文章主要介紹了詳解C++ 編寫String 的構造函數(shù)、拷貝構造函數(shù)、析構函數(shù)和賦值函數(shù)的相關資料,這里提供實例幫助大家理解掌握這部分內(nèi)容,需要的朋友可以參考下2017-08-08