原创 數據結構07——表達式括號匹配

Description假設一個算術表達式中可以包含三種括號:圓括號“( ”和“ )”、方括號“ [ ”和“ ] ”和花括號“{”和“}”,且這三種括號可按任意的次序嵌套使用(如:…[…{…}…[…]…]…[…]…(…)…)。編寫判別給定表

原创 數據結構30——稀疏矩陣加法,實現C=A+B

Description輸入兩個稀疏矩陣,輸出它們相加的結果。Input第一行輸入四個正整數,分別是兩個矩陣的行m、列n、第一個矩陣的非零元素的個數t1和第二個矩陣的非零元素的個數t2。接下來的t1+t2行是三元組,分別是第一個矩陣的數據和

原创 10.19—動態規劃 //最長公共子序列//防衛導彈//田忌賽馬//計算矩陣連乘積//最長子序列的長度

1.最長公共子序列 描述:一個給定序列的子序列是在該序列中刪去若干元素後得到的序列。確切地說,若給定序列X=<x1, x2,…, xm>,則另一序列Z=<z1, z2,…, zk>是X的子序列是指存在一個嚴格遞增的下標序列 <i1, i2

原创 數據結構18——建立二叉樹的二叉鏈表(嚴6.65)

Description已知一棵二叉樹的前序序列和中序序列分別存於兩個一維數組中,試編寫算法建立該二叉樹的二叉鏈表。Input分兩行分別輸入一棵二叉樹的前序序列和中序序列。Output輸出該二叉樹的後序序列。Sample Input ABD

原创 數據結構11——循環右移(耿5.2)

Description編寫程序,將一維數組A(下標從1開始)中的元素循環右移k位,要求只用一個元素大小的附加存儲。Input第一行輸入一維數組A的長度n和循環位移位數k(0<n<100;0<k<100),用空格分開。第二行輸入n個元素。O

原创 9.14-回溯(//數字全排列//0-1揹包//迷宮問題//八皇后問題//又一個迷宮//堡壘問題//三階幻方//圖的m着色問題//字母轉換//輸出命題公式的真值表)

1.數字全排列            輸出N個數字的所有排列組合情況 #include<iostream> using namespace std; void search(int m); void output(); int n

原创 9.29-分支限界法(//加1乘2平方//電子老鼠闖迷宮//農場灌溉問題//滿足條件的排列數)

1.加1乘2平方 描述:最簡單的隊列的使用 #include <iostream> #include <queue> using namespace std; queue<int> q1; int main() { int temp, x

原创 數據結構10——k階斐波那契數列(嚴3.32)

Description試利用循環隊列編寫k階斐波那契數列中前n+1項 (f(0),f(1),…,f(n))的程序,要求滿足: f(n)<=max而f(n+1)>max,其中max爲某個約定的常數。(注意:本題所用循環隊列的容量僅爲k,則在

原创 數據結構08——逆波蘭式

Time Limit: 3000ms, Memory Limit: 10000KB , Accepted: 277, Total Submissions: 763Description假設表達式由單字母變量和雙目四則運算算符構成。試

原创 數據結構20——基於圖的廣度優先搜索策略(耿7.11)

Description試基於圖的廣度優先搜索策略編寫程序,判別以鄰接表方式存儲的有向圖中,是否存在由頂點vi到頂點vj(i不等於j)。注意:程序中涉及的圖的基本操作必須在此存儲結構上實現。Input第一行輸入有向圖的頂點數n和邊數m,用空

原创 最簡單的Windows程序

#include<windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCm

原创 9.11-分治(//二分搜索//合併排序//快速排序//循環賽日程表)

       分治法:將一個規模爲n 的問題分解爲k個規模較小的子問題,這些子問題互相獨立且與原問題相同。遞歸地解這些子問題,然後將各子問題的解合併得到原問題的解。        大量實踐表明,將問題分成大小相等的兩個子問題的方法是行之有

原创 9.28-PRIM算法(//最短公路連接村莊(一)(二))

1.最少修建多長的公路能把所有村莊連起來(一) 描述:一個地區有n個村莊,有一些村子之間可以修路,已知每條路的長度,問最少修建多長的公路可以把所有的村子連接起來。 輸入:先輸入兩個正整數n,m(n小於10000,m小於100000),表示

原创 9.29-貪心算法(//活動安排//0-1揹包//裝載問題)

1.活動安排 描述:Jack是一名nwpu的大一新生,對學校舉辦的各種活動都十分的好奇,想盡可能多的參加這些活動。Npwu每天共有N項活動,其開始結束時間分別爲B[i],E[i],(i = 1,2,……N) 請問Jack一天最多能參加幾項

原创 9.6-遞歸(//n!//最大公約數//窮舉n位二進制數//四皇后問題//骨牌組合//踩氣球)

遞歸算法:直接或間接調用自身的算法。 遞歸函數:用函數自身給出定義的函數。   遞歸的優點:算法簡潔易於分析理解。 遞歸的缺點:分支較多的函數時間、空間複雜度太大。   例1:求n! #include<iostream> using n