- 博客(14)
- 资源 (10)
- 收藏
- 关注
转载 C++对象模型
何为C++对象模型?C++对象模型可以概括为以下2部分:1. 语言中直接支持面向对象程序设计的部分2. 对于各种支持的底层实现机制语言中直接支持面向对象程序设计的部分,如构造函数、析构函数、虚函数、继承(单继承、多继承、虚继承)、多态等等,这也是组里其他同学之前分享过的内容。第一部分这里我简单过一下,重点在底层实现机制。在c语言中,“数据”和“处
2014-11-29 18:01:26 738
原创 最长公共子序列(递归法)
#include#include#include#include#includeusing namespace std;/**最长公共子序列(递归法)*/vector> b;//b[i][j]记录c[i][j]的值是由哪一个子问题的解得到的int LCSLength(string m,string n,int Finedx,int Sindex){ if(Finedx
2014-11-26 21:20:19 2289
原创 最长公共子序列(动态规划)
#include#include#include#include#includeusing namespace std;/**最长公共子序列(动态规划)*/vector> c;//c[i][j]记录串a[0..i]与串b[0..j]之间的最长公共子序列的长度vector> b;//b[i][j]记录c[i][j]的值是由哪一个子问题的解得到的void LCSLength(
2014-11-26 20:50:04 967
原创 矩阵连乘(备忘录方法:自顶向下递归)
#include#include#include#includeusing namespace std;/**矩阵连乘(备忘录方法:自顶向下递归)*/vector> m;//m[i][j]表示矩阵Ai连乘到Aj的最少运算次数vector> s;//s[i][j]记录矩阵Ai和矩阵Aj之间的分割点//计算该连乘式子的最佳结合方式int MatrixChain(vector&
2014-11-26 19:53:41 4876
原创 矩阵连乘(动态规划非递归)
对于矩阵连乘机问题就不概述了,主要是找出最佳的结合方式使得整个式子的运算次数最少。 对于这个问题之所以用动态规划的原因点如下: 第一:由于矩阵连乘机本身可以划分为若干个子矩阵链连乘机,而且若干个子矩阵链的最优解组合起来就是原矩阵链的最优解。 第二:对于原矩阵链的不同划分中个子问题是存在重叠子问题。 所以当此问题用动
2014-11-21 13:02:01 3328
原创 整数因子分解问题
#include#include#include#include#includeusing namespace std;/**整数因子分解问题*/vector vec;static int Count = 0;void solve(int n){ if(1==n) { cout<<"第"<<++Count<<"种分解: "; copy(vec.begin
2014-11-20 13:56:37 2967
原创 选择问题(线性时间复杂度)
采用分治策略找出第K小的元素!要求程序的时间复杂度为线性函数。#include#include#include#include#includeusing namespace std;/**选择问题(线性时间复杂度)*在beg和end之间查找第k个元素*/int Fast_find(vector &vec,int beg,int end,int k){ if(k>end
2014-11-20 13:23:34 3934
原创 快速排序
#include#include#include#include#includeusing namespace std;/**快速排序问题*/void Fast_sort(vector& a,int beg,int end){ if(beg+1>=end) return; int key = beg; for (int i = beg , j = end; i < j;
2014-11-20 13:17:33 770
原创 棋盘覆盖问题
#include#include#includeusing namespace std;/**棋盘覆盖问题*/static int t=0;void ChessBoard(int **map,int r,int l,int pr,int pl,int size){ if(1==size) {return;} t++; int it = t; //左上角 if(pr<
2014-11-13 10:15:25 1073
原创 循环赛日程表(递归法)
#include#include#include#includeusing namespace std;/**循环赛日程表(递归法)*/void Copy(int **map,int sr,int sl,int dr,int dl,int k){ for (int i = 0; i < k; i++) { for (int j = 0; j < k; j++) {
2014-11-12 21:30:28 6485
原创 循环赛日程表(非递归)
#include#include#include#includeusing namespace std;/**循环赛日程表(非递归)*/void Copy(int **map,int sr,int sl,int dr,int dl,int k){ for (int i = 0; i < k; i++) { for (int j = 0; j < k; j++) {
2014-11-12 21:28:20 1988 1
原创 整数划分问题并显示每一种划分形式
#include#include#include#includeusing namespace std;/**整数划分问题并显示每一种分法*/set> GetAllIntDivision(int n){ set> allDivision; if(1==n) { multiset aa; aa.insert(1); allDivision.insert(aa)
2014-11-11 13:20:37 1523
原创 整数划分问题(只显示种类数)
这边博客对于整数划分问题,只要求求出对于每一个整数能够划分的种类数,采用金典的递归的办法解决。#includeusing namespace std;/**整数划分问题(只显示种类数)*/int GetIntDivision(int n,int m){ if(n==1&&m>=1) return 1; if(n>=1&&m==1) return 1; if(m>n)
2014-11-11 13:18:39 997
原创 ZOJ Problem Set - 1004-Anagrams by Stack
唉!先直接上源代码吧!什么时候有时间的再来加说明!#include#include#include#include#include#includeusing namespace std;/**i代表PUSH,o代表POP*/bool judge(deque sou,deque des,vector & res){ stack inistack; for(ve
2014-11-06 13:06:32 1213
Uninstall_vs.zip
2019-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人