0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

稀疏矩陣包含了哪幾種基本的運(yùn)算操作呢

冬至子 ? 來源:計(jì)算機(jī)科學(xué)實(shí)驗(yàn)室 ? 作者:好壞生長(zhǎng) ? 2023-01-18 10:45 ? 次閱讀

遞歸是一個(gè)非常重要的概念,但是并不是很好理解。

最常用的遞歸案例,就是求乘法的階乘,例如求n!的值。

n=1
n=1*2
n=1*2*3
n=1*2*3*4
...

這個(gè)乘法問題,是在前一個(gè)乘法的基礎(chǔ)上,再做乘法運(yùn)算,也就是

fun(n)=fun(n-1) * n

這就是遞歸的公式,我們只要確定了fun()的實(shí)現(xiàn),就能夠求出所有的值。

#include 


int fun(int n){
  if(n == 1) return 1;
  return fun(n-1) * n;
}


int main(){
  printf("%d\\n", fun(5));
  return 0;
}

在這個(gè)案例中,設(shè)n=5,他的執(zhí)行過程如圖所示。

2.jpg

由外到里,再由里到外。

在設(shè)計(jì)遞歸算法的時(shí)候,需要注意,必須有出口條件,本案例中,階乘的出口條件是n=1的時(shí)候,乘積為1

再看一個(gè)案例,例如,要求一個(gè)復(fù)雜的多項(xiàng)式

F(1)=1,F(xiàn)(2)=1

F(n)=F(n-1)+F(n-2) n>2 求F(6) = ?

根據(jù)數(shù)學(xué)方程,實(shí)現(xiàn)起來也非常簡(jiǎn)單

#include 


int f(int n){
  if(n == 1) return 1;
  if(n == 2) return 1;
  return f(n-1) + f(n-2);
}


int main(){
  printf("%d\\n", f(6));
  return 0;
}

執(zhí)行過程如圖所示。

2.jpg

審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 矩陣
    +關(guān)注

    關(guān)注

    0

    文章

    418

    瀏覽量

    34453
  • printf函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    5871
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    EMI濾波器有哪幾種應(yīng)用和選擇?

    EMI濾波器有哪幾種應(yīng)用和選擇?|深圳比創(chuàng)達(dá)EMC
    的頭像 發(fā)表于 10-09 10:32 ?1334次閱讀
    EMI濾波器有<b class='flag-5'>哪幾種</b>應(yīng)用和選擇?

    LoRaWAN包含哪幾種不同類型的節(jié)點(diǎn)?

    什么是LoRaWAN?LoRaWAN包含哪幾種不同類型的節(jié)點(diǎn)?
    發(fā)表于 06-16 08:23

    數(shù)據(jù)傳輸指令有何作用?數(shù)據(jù)傳輸指令有哪幾種

    數(shù)據(jù)傳輸指令有何作用?數(shù)據(jù)傳輸指令有哪幾種?算術(shù)運(yùn)算指令有哪幾種?邏輯運(yùn)算指令又有哪幾種?
    發(fā)表于 10-15 09:51

    GPIO功能有哪幾種

    怎樣根據(jù)STM32F207參考手冊(cè)中的GPIO框圖講解GPIO功能?GPIO功能有哪幾種?
    發(fā)表于 10-19 10:20

    常見的ARM匯編指令有哪幾種

    ARM寄存器有哪些?ARM7寄存器的工作模式有哪幾種?常見的ARM匯編指令有哪幾種
    發(fā)表于 11-30 07:25

    UART具有哪幾種操作方式?

    UART具有哪幾種操作方式?
    發(fā)表于 12-14 07:13

    矩陣按鍵的原理是什么?有哪幾種掃描方式

    矩陣按鍵的原理是什么?矩陣按鍵有哪幾種掃描方式?如何去實(shí)現(xiàn)STM32矩陣按鍵控制IO口的代碼
    發(fā)表于 01-18 06:08

    矩陣按鍵是否被按下的檢測(cè)方法有哪幾種

    怎樣去檢測(cè)矩陣按鍵是否被按下?矩陣按鍵是否被按下的檢測(cè)方法有哪幾種?
    發(fā)表于 02-23 07:52

    操作指令有哪幾種?有何作用

    什么是位操作?位操作指令有哪幾種?有何作用?
    發(fā)表于 02-25 07:07

    SMT元器件有哪幾種類型

    本文檔的主要內(nèi)容詳細(xì)介紹的是SMT元器件有哪幾種類型。
    發(fā)表于 11-27 08:00 ?3次下載

    風(fēng)機(jī)軸維修有哪幾種工藝

    風(fēng)機(jī)軸維修有哪幾種工藝
    發(fā)表于 12-03 17:47 ?9次下載

    軸承跑內(nèi)圓有哪幾種修復(fù)方式

    軸承跑內(nèi)圓有哪幾種修復(fù)方式
    發(fā)表于 01-23 11:07 ?7次下載

    軸承孔磨損維修有哪幾種方法?

    軸承孔磨損維修有哪幾種方法?
    發(fā)表于 04-01 16:30 ?11次下載

    ESD模型有哪幾種你知道嗎?

    ESD模型有哪幾種你知道嗎?
    的頭像 發(fā)表于 05-09 10:00 ?1757次閱讀
    ESD模型有<b class='flag-5'>哪幾種</b>你知道嗎?

    什么是步進(jìn)電機(jī)?步進(jìn)電機(jī)分哪幾種?

    電子發(fā)燒友網(wǎng)站提供《什么是步進(jìn)電機(jī)?步進(jìn)電機(jī)分哪幾種?.pdf》資料免費(fèi)下載
    發(fā)表于 11-28 14:21 ?1次下載
    什么是步進(jìn)電機(jī)?步進(jìn)電機(jī)分<b class='flag-5'>哪幾種</b>?