C 知識總結1(遞迴演算法 復合資料型別)

2021-10-03 16:05:28 字數 1010 閱讀 3049

3.1遞迴演算法

一、1、把大型複雜的問題,層層分解得到規模小的小問題來求解

2、基本思想:層層分解

二、步驟

1、分析問題,尋找遞迴;找大規模和小規模之間的關係

2、找出停止條件

3、設計函式,確定引數

三、求1-100

遞迴:fn(n)=n+fn(n-1)

終止條件:f(1)=1

**:int fn(int n)

注意:先處理終止條件,作為單獨的項來處理。

注意:①出口;②形參要與遞迴對應(資料規模)-遞迴關係的表示(返回值)。

1、在主函式中呼叫,層層呼叫。

2、返回值時得到小規模的解才行(逐步回溯,求解)

四、作用

在呼叫中使問題簡化,回溯過程得到問題的解。

3.1.2集合的全排列

一、1、先排高位,再關注少一位

2、大問題化小

3、列舉所有高位情況,來確定子問題

4、需要列舉!(重要)

3.3全排列的遞迴演算法

1、至少需要兩位以上。

2、舉例從k-m的資料全排列(多種情況就列舉)

3、遞迴呼叫,做全排列

4、恢復原來的資料-資料交換(重要)(二次交換-列舉重要問題)

3.3.8半數集

求幾個元素

半數集是多重集

用到遞迴,不忘關係原來的數

【注意】使用陣列儲存計算過的結果,避免重複,提高效率

3.3.12記憶化搜尋

已知結果記錄-加陣列

4、復合資料型別

一、1、定義結構體變數的格式:

struct 結構體型別名 變數名列表;

//struct 型別名 變數名

2、多的變數用陣列

3、同種型別可以放在一起

4、賦值時交換為整體交換

二、過載運算子

在結構體內定義成員函式時,對成資料成員的操作,省略結構體變數。

過載《運算子,來作比較

compare函式來作比較

week one 遞迴演算法 復合資料型別)

目標 1.熟悉物件導向相關知識 2.熟練運用c 內容編寫物件導向程式 3.了解軟體開發的基本流程,學會物件導向軟體開發方法 4.能夠開發小型軟體系統。一 遞迴演算法 程式直接或間接呼叫自身的程式設計技巧稱為遞迴演算法 recursion 直接或間接呼叫自身的函式稱為遞迴函式。特點 把乙個大型複雜的問...

C語言學習知識總結day1(基本結構,資料型別)

一 以輸出 hello world 為例 include include 包含 包含乙個叫stdio.h的檔案 std 標準 i 輸入 o 輸出 int main main 主函式 程式的入口 main函式有且僅有乙個 int是整型的意思 main前面的int表示main函式呼叫返回乙個整型值 二 ...

資料結構(C語言版)第1章知識點總結

1 資料是對客觀事物的符號表示,其基本單位是資料元素。2 資料物件是性質相同的資料元素的集合,是資料的乙個子集。3 資料結構是相互之間存在一種或多種特定關係的資料元素的集合。根據資料元素之間關係的不同特性,資料元素相互之間一共有四種關係結構,分別是集合 線性結構 樹形結構 圖狀結構或網狀結構。4 抽...