摘要: 1.2程序被其它程序翻译成不同的格式 hello程序的生命周期是从一个源程序(hello.c)(称为高级c语言)开始,被其它程序转化为一系列的低级机器语言指令,这些指令按照一种称为可执行目标程序的格式打包好,以二进制磁盘文件的形式保存。 例:unix> gcc -o hello hello.c可以实 阅读全文
posted @ 2016-06-24 15:23 胡韬 阅读(2556) 评论(0) 推荐(0) 编辑
摘要: List Reverse( List L ){ if(L==NULL) return; List head=(List)malloc(sizeof(struct Node)); head->Next=NULL; List q=L,p; while(q!=NULL) { p=q; q=q->Next; 阅读全文
posted @ 2016-06-09 00:45 胡韬 阅读(1695) 评论(0) 推荐(0) 编辑
摘要: #include #include using namespace std; int main() { char a[]="0123456789"; int len=strlen(a); reverse(&a[0],&a[6]); //a[6]没参加reverse for(int ... 阅读全文
posted @ 2016-01-27 02:25 胡韬 阅读(208) 评论(0) 推荐(0) 编辑
摘要: #include #include using namespace std; int e[100][100]; //无向图图采用邻接矩阵表示,一般的图采用数组,稀疏图可采用vector动态表示节约资源 int book[100]; //采用book数组记录节点是否已经访问过 int n,m; /... 阅读全文
posted @ 2016-01-27 02:14 胡韬 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 动态规划( dynamic programming )算法是解决多阶段决策过程最优化问题的一种常用方法,难度比较大,技巧性也很强。利用动态规划算法,可以优雅而高效地解决很多贪婪算法或分治算法不能解决的问题。动态规划算法的基本思想是:将待求解的问题分解成若干个相互联系的子问题,先求解子问题,然后从这些子问题的解得到原问题的解;对于重复出现的子问题,只在第一次遇到的时候对它进行求解,并把答案保存起来,... 阅读全文
posted @ 2015-05-19 09:00 胡韬 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 动态规划的核心就是状态和状态转移方程。 对于该题,需要用抽象的方法思考,把当前的位置(i,j)看成一个状态,然后定义状态的指标函数d(i,j)为从格子出发时能得到的最大和(包括格子本身的值)。 在这个状态定义下,原问题的解就是d(i,j). 下面看一下不同状态之间如何转移。从格子(i,j)出发有两种策略。如果向左走,则到(i+1,j)后需要求“从(i+1,j)出发能得到的最大和”这一问题,即... 阅读全文
posted @ 2015-05-14 14:32 胡韬 阅读(395) 评论(0) 推荐(0) 编辑
摘要: #include using namespace std; /*************用数组下标保存行号,数组内容保存列号********************/ bool judge(int a[],int n) { int k=a[n]+n; int j=a[n]-n; for(int i=0;i=n) ... 阅读全文
posted @ 2015-05-14 07:20 胡韬 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 求一个集合的幂集就是求一个集合的所有的子集,方法有穷举法,分治法,回溯等,这里使用回溯法。 回溯法是设计递归过程的一种重要的方法,它的求解过实质上是一个先序遍历一棵“状态树”的过程,只是这棵树不是遍历前预先建立的,而是隐含在遍历过程中的。 幂集中的每个元素是一个集合,它或是空集,或含集合A中一个元素,或含集合A中两个元素…… 或等于集合A。反之,从集合A 的每个元素来看,它只有两种状态:它或属... 阅读全文
posted @ 2015-05-13 23:17 胡韬 阅读(4163) 评论(0) 推荐(0) 编辑
摘要: 最优二叉树:带权路径长度最小的二叉树称为哈弗曼树,也称为最优二叉。 哈弗曼树本身有N个节点,将这N个节点,从这N个节点选取2个最小的,合并成一个新节点。这时有N-1个节点,再将这N -1个节点重复处理最终合并成一个节点。此时得到的树就是最优二叉树。 #include #include using namespace std; #define max 1000 int c... 阅读全文
posted @ 2015-05-13 08:12 胡韬 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 二叉排序树(简称BST),也称为二叉查找树。二叉排序树或者为一颗空树,或者为一颗具有下列特性的飞空二叉树: 1.若左子树非空,则左子树上所有节点的关键字均小于根节点的关键字值。 2.若右子树非空,则右子树上所有节点的关键字均小于根节点的关键字值。 3.左右子树本身也是一颗二叉排序树。 /********************二叉排序树************************... 阅读全文
posted @ 2015-05-13 08:12 胡韬 阅读(136) 评论(0) 推荐(0) 编辑