遞迴與分治策略
遞迴的概念,典型應用:hanoi問題,程式如下:
#include
void hanoi(int n, char a, char b, char c)
}void main()
分治的基本思想:將乙個規模為n的問題分解成k個規模較小的子問題,然後遞迴解決這些問題。
二分搜尋技術:
#include
#define max 100
int binarysearch(int a, int x, int n)
return -1;
}void main()
{int a[max];
int find,sum,i;
printf("please input the sum of list:");
scanf("%d",&sum);
printf("please input %d number/n",sum);
for(i=0;i
大整數的乘法
strassen矩陣乘法
棋盤覆蓋
合併排序
快速排序
線形時間選擇
最接近點對問題
迴圈賽日程表
演算法設計與分析學習筆記(一)
輸入包含n個整數是陣列a和整數x,求出滿足a i a j x的i和j,如果沒有這樣的元素和,則返回 1,否則返回1 暴力法 思路 設定兩個for迴圈,第乙個設定基準數,然後利用已知數x減去基準數之後,再使用乙個for迴圈來進行匹配減去得到的數,如果存在該數,則返回1.如果不存在,則繼續找下乙個基準數...
表(演算法分析與設計筆記)
對於非空的線性表而言,它具有如下4個特點 表中有且僅有乙個開始節點 表中有且僅有乙個終端節點 除了開始節點和終端節點外,其他每個元素前面均有且僅有乙個稱為直接前趨的資料元素,它的後面均有且僅有乙個稱為直接後繼的資料元素 雖然不同線性表的資料元素可以是各種各樣的,但是同一線性表中的資料元素必須具有相同...
演算法分析與設計學習筆記1
下面哪乙個不是演算法的特性?同乙個數學模型使用不同的資料結構會有不同的演算法,有效性有很大差別 計算此偽 表示的演算法中加法的執行次數 答案 2t 1 1 解析 此類問題適合初學者進行練習,初學者接觸此類問題最好找從頭到尾梳理一遍,將題中所給資料帶入所給偽 中進行計算來梳理思路。運算過程 n最開始為...