自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (6)
  • 收藏
  • 关注

原创 算法导论 第23章 KrusKal算法 Prim算法

终于写出来了 ,这个算法的准备工作也忒多了,先打好图的结构的基础,然后写一个实现不相交集合的数据结构,然后结合这两个结构完成这个算法。写了两天,终于把这些都解决了,今天终于出来成果了,好激动,好\(≧▽≦)/,忍不住欢呼雀跃,功夫都没白费,不枉费我这星期六日还在写,嘿嘿~~~~~图的最小生成树算法:思路很简单,1、最开始时,每个结点都看成一棵树,使每个结点都成为一个集合

2013-12-29 16:37:32 1743

原创 算法导论第21章 不相交集合 链表表示

一个不相交数据结构维护了一个不相交动态集的集合S = {S1, S2,,,,,Sn},用一个代表来标示每个集合,这个代表是集合中的任意一个元素。支持一下三种操作:1、MakeSet(x):建立一个新的集合,成员为x,因为各个集合是不相交的,故不出现在任何其他集合中。2、Uinon(x, y):将包含x和y的两个集合合并成一个新的集合,即为这两个集合的并集。3、FindSet(x):

2013-12-28 19:48:22 1255

原创 图的广度优先搜索 深度优先搜索 最短路径 拓扑排序(邻接链表表示)

图的结点结构是:    //定义结点颜色种类,辅助图的遍历,//WHRITE:未访问 GRAY:开始访问,邻接点还没有访问完 BLACK:访问完成enum ColorType {WHRITE, GRAY, BLACK};struct VNode           //头结点{VertexType data;    //顶点信息ArcNode *firstarc;

2013-12-27 20:15:52 4583

原创 图的表示方法 c++ 实现

图的表示最长用的两种方法是:1)、邻接矩阵表示法2)、邻接表表示下面是两种构造图的方法1)邻接矩阵:2)邻接链表#include using namespace std;//枚举类型,图的种类 DG:有向图;WDG:带权值的有向图;//UDG: 无向图;WUDG: 带权值的无向图enum GraphKind {DG, WDG, UDG, WUDG};t

2013-12-26 14:23:14 13390

原创 C++ 类中const成员 static 成员 const static 成员定义及初始化

C++类中的1)、const 成员,只能在构造函数初始化列表里定义,不能再类外定义,是属于类的一个对象的常量数据成员,不是属于整个类的2)、static成员,需要在类外定义,不需要加static关键字,方式为:type>3)、static>

2013-12-26 09:57:19 742

原创 不相交集的find和union

两个不相交集合是指S1 ∩ S2 == {}空集,一般包含两个操作,find和union操作find:返回包含给定元素的集合union把两个集合合并成一个集合这里只用到了数组来表示这个数据结构,这个数组中保存着每个元素的等价类的名字#include #include using namespace std;class DisjSets{public: explicit

2013-12-24 17:02:37 1369

转载 跳跃表

【引言】二叉树是我们都非常熟悉的一种数据结构。它支持包括查找、插入、删除等一系列的操作。但它有一个致命的弱点,就是当数据的随机性不够时,会导致其树型结构的不平衡,从而直接影响到算法的效率。跳跃表(Skip List)是1987年才诞生的一种崭新的数据结构,它在进行查找、插入、删除等操作时的期望时间复杂度均为O(logn),有着近乎替代平衡树的本领。 而且最重要的一点,就是它的编

2013-12-22 15:18:40 705

原创 算法导论第17章 摊还分析

在摊还分析中,我们求数据结构的一个操作序列中所执行的所有操作的平均时间,来评价操作的代价,从而说明一个操作的平均代价是很低的,即使序列中某一单一操作的代价很高,不涉及改了,但可以保证最坏情况下每个操作的平均时间。摊还分析中主要的三种方法:1、聚合分析  2、核算法(即记账法) 3、势能法1、聚合分析:证明对所有的n,一个n个操作的序列最坏情况下花费的总时间为T(n),因此,在最坏情况下,每

2013-12-21 11:04:20 5490

原创 算法导论第16章 构造赫夫曼编码

赫夫曼使用的编码是前缀码,即没有任何码字是其他码字的前缀。编码鼠的结构是,可以用二叉树表示,其叶节点是给的的字符,字符的二进制编码用从跟结点到该字符的叶节点的简单路径表示,0即为向左走,1即为向右走,编码树并不是二叉搜索树,因为叶结点并没有排序,内结点不包含字符关键字。最优编码方案总是对应一棵“满”二叉树(书上这么写,但有点不对, 满二叉树是所有非叶子节点都有两个孩子结点,且所有叶节点在同

2013-12-20 10:40:58 1200 1

转载 priority_queu用法

priority_queue调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式。先写一个用 STL 里面堆算法实现的与真正的STL里面的 priority_queue用法相似的priority_queue, 以加深对 priority_queue 的理解#include

2013-12-20 10:20:43 945

原创 算法导论第16章 贪心算法之活动选择

问题描述:假定有一个n个活动的集合S = {a1, a2, ...., an}, 这些活动使用同一个资源,而这个资源在某一刻只能供一个活动使用。每个活动ai有一个开始时间si和结束时间fi, 0 ≤ si 如果被选中,任务ai发生在半开时间区间[si, fi)。 如果两个活动ai, aj满足[si, fi), [sj, fj)不重叠,则他们是兼容的。即若si ≥ fj 或 sj ≤ fi,

2013-12-19 20:30:03 1538

原创 算法导论第15章 最长公共子序列问题(LCS)

#include using namespace std;const int m = 8;const int n = 7;//返回值结构struct twoArrayPair{ char b[m][n]; int c[m][n];};/*************************************************************//*c[m

2013-12-19 16:40:16 741

原创 算法导论第15章 最优二叉树

又出bug了,w的值是对的,为啥e数组的值一直不对?#include #include #include using namespace std;#define EPSILON 0.0000000001const int m = 7;const int n = 6;struct twoArray{ float e[m][n]; float root[n][n];};/**

2013-12-19 16:15:31 675

原创 算法导论15章 动态规划之矩阵链乘法问题

矩阵链乘法问题:给定一个n个矩阵的序列(矩阵链),矩阵Ai的规模为Pi-1 * Pi, 求完全括号话方案,使得计算成绩A1*A2*......*An所需标量乘法次数最少。注意:求解矩阵链乘法问题并不是要真正进行矩阵相乘运算,只是确定代价最低的计算顺序,确定最优计算书序所花费的时间通常要比随后真正进行矩阵相乘所节省的时间要少。两个矩阵A、B相容,即A的列数等于B的行数时, 才能相乘。n个

2013-12-18 17:30:19 2281

原创 算法导论15章 动态规划 之 钢条切割

钢条切割问题,递归方法实现:#include using namespace std;int cutRod(int *p, int n){ if (n == 0) return 0; int q = -1; for(int i = 0; i < n; i++) q = max(q, p[i]+cutRod(p, n-i-1));

2013-12-17 15:18:38 2763 3

原创 红黑树C++

红黑树定义:1、每个结点要么是红的,要么是黑的2、根结点是黑的3、每个叶结点,即空节点是黑的4、如果一个结点是红的,则它的两个儿子是黑的5、对每个结点,从该结点到其子算结点的所有路径上包含相同数目的黑结点。红黑树性质:1、一棵有n个内结点的红黑树的高度至多为2lg(n+1)2、RB-insert总共花费为O(lgn)时间,

2013-12-17 10:37:02 726

原创 二叉查找树、红黑树、B树性质

二叉查找树性质“:1、遍历一棵含有n个节点的二叉查找树所需时间为Θ(n)(包括中序、前序、后续)2、对一棵高度为h的二叉查找树,动态操作集合操作search、miniMum、maxiMum、successor和predecessor、insert、delete的运行时间均为Θ(n)3、一棵在n个关键字上随机构造的二叉查找树的期望高度为O(lgn)红黑树定义:红黑

2013-12-16 09:11:02 1468

C语言字符数组初始化

1 、字符数组的定义与初始化 2 、字符数组与字符串 3 、字符串的表示形式 4 、对使用 字符指针变量 和 字符数组 两种方法表示 字符串 的讨论

2012-07-28

Java数据库系统项目开发实践.zip

《Java数据库系统项目开发实践》书中配套光盘中的代码

2012-04-29

ASP+.NET+2.0+SQL+Server+2005项目开发

ASP+.NET+2.0+SQL+Server+2005项目开发书的全部代码,共8个项目。

2012-01-22

VC_实现连连看游戏

pdf格式VC_实现连连看游戏步骤~步骤详解

2011-01-04

Visual C++游戏开发经典案例详解光盘

Visual C++游戏开发经典案例详解光盘 包括书里的全部源代码

2011-01-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除