随笔分类 -  数据结构与算法

数据结构与算法
摘要:Prim算法的核心思想就是在上一步确定的两个互斥点集A,B中找出一对可以形成边的点,并且这一对点构成的边应该是两个点集中可构成的边里权值最小的。然后把这一条边加入边集E,并且把终点加入到A集合,从B集合中去掉。再重复,直到B集为空或者A集满。具体来讲1、设立点集A,只包括一个点,设立点集B,包括图中剩余的其他点2、从点集A,B各选一点a,b 满足a-b边是所有点集A与点集B的点构成的边的权值最小的。把a-b边加入边集,把b从点集B中去掉,添加到点集A。重复2,直到B点集为空或A点集满。3、由边集即可构成一个最小生成树。至于代码,实现方式不少,主要差异在如何体现AB点集。我的数据结构书上是利用该 阅读全文
posted @ 2013-05-24 04:48 Jinks 阅读(851) 评论(0) 推荐(0)
摘要:学数据结构时的上机作业,花了半天时间写的。问题描述:1、对于任意给出的前缀表达式(不带括号)、中缀表达式(可以带括号)或后缀表达式(不带括号),能够在计算机内部构造出一棵表达式二叉树,并且图示出来(图形的形式)。2、对于构造好的内部表达式二叉树,按照用户的要求输出相应的前缀表达式(不带括号)、中缀表达式(可以带括号,但不允许冗余括)或后缀表达式(不带括号)。代码展开 1 //表达式二叉树 2 //作者:王锦 3 //邮箱:jinksw@vip.qq.com 4 5 #include "stdafx.h" 6 #include <stack> 7 #include 阅读全文
posted @ 2013-04-28 12:12 Jinks 阅读(3919) 评论(0) 推荐(0)
摘要:主要是利用了字符的ascii码。以ascii码作为索引。代码:展开 1 import java.util.Scanner; 2 public class FindMostChar { 3 4 /** 5 * @author 王锦 6 * @Email jinksw@vip.qq.com 7 * @param args 8 */ 9 public static void main(String[] args) {10 // TODO Auto-generated method stub11 ... 阅读全文
posted @ 2013-04-26 20:35 Jinks 阅读(728) 评论(1) 推荐(0)
摘要:当初学Java时做的。代码:展开 1 public class XiXueGuiNum { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 // TODO Auto-generated method stub 8 int num[] = new int[4]; 9 for(int i = 1000;i < 10000;++i){10 if(i%100 == 0)11 ... 阅读全文
posted @ 2013-04-26 20:17 Jinks 阅读(612) 评论(0) 推荐(0)
摘要:当初的数据结构上机作业,题目很奇葩,要求先将中缀表达式转换成后缀表达式再求值。只加入了一些错误判断,因为输入的错误形式太多了,做到一半懒得做了。代码:展开 1 // 中缀表达式求值(通过先转换为后缀表达式再求值) 2 // 作者:王锦 3 // 邮箱:jinksw@vip.qq.com 4 5 #include "stdafx.h" 6 #include <stack> 7 #include <queue> 8 #include <iostream> 9 #include <sstream> 10 using namespac 阅读全文
posted @ 2013-04-26 15:26 Jinks 阅读(1230) 评论(0) 推荐(0)
摘要:这是我学习数据结构时的一道上机作业,那时还没养成写注释的习惯,所以各位得受点苦了。只是简易背包问题。代码:展开 1 // 背包问题所有解 2 // 作者:王锦 3 // 邮箱:jinksw@vip.qq.com 4 5 #include "stdafx.h" 6 #include <iostream> 7 #include <stack> 8 #include <list> 9 using namespace std; 10 11 class BagProblemSolver 12 { 13 private: 14 int *stuffW 阅读全文
posted @ 2013-04-26 15:22 Jinks 阅读(745) 评论(0) 推荐(0)