2013年2月12日

WindowsAPI笔记(二)---动手写第一个Windows程序

摘要: #include <windows.h> #include <iostream> #include <stdio.h> using namespace std; const string ProgramTitle = "Hello Windows"; LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { string text = "Hello Windows!"; switch (message) { cas 阅读全文

posted @ 2013-02-12 23:26 电子幼体 阅读(300) 评论(0) 推荐(0) 编辑

WindowsAPI笔记(一)

摘要: 句柄在Windows应用程序中,窗口是通过窗口句柄(HWND)来标识的。我们要对某个窗口进行操作,首先就要得到这个窗口的句柄。句柄(HANDLE)是Windows程序中一个重要的概念,使用也非常频繁。在Windows程序中,有各种各样的资源(窗口、图标、光标等),系统在创建这些资源时会为它们分配内存,并返回标识这些资源的标识号,即句柄。在后面的内容中我们还会看到图标句柄(HICON)、光标句柄(HCURSOR)和画刷句柄(HBRUSH)。消息在Windows程序中,消息是由MSG结构体来表示的。MSG结构体的定义如下(参见MSDN):typedef struct tagMSG { ... 阅读全文

posted @ 2013-02-12 21:43 电子幼体 阅读(396) 评论(0) 推荐(0) 编辑

⑨讲图论第五课: Bellman-Ford算法求最短路

摘要: 贝尔曼-福特算法(Bellman-Ford)是由RichardBellman和Lester Ford创立的,求解单源最短路径问题的一种算法。有时候这种算法也被称为Moore-Bellman-Ford 算法,因为Edward F. Moore也为这个算法的发展做出了贡献。它的原理是对图进行V-1次松弛操作,得到所有可能的最短路径。其优于迪科斯彻算法的方面是边的权值可以为负数、实现简单,缺点是时间复杂度过高,高达O(VE)。但算法可以进行若干种优化,提高了效率。自然语言描述对有向图G(V,E),用贝尔曼-福特算法求以Vs为源点的最短路径的过程:建立dist[],表示目前已知源点到各个节点的最短距离 阅读全文

posted @ 2013-02-12 20:48 电子幼体 阅读(396) 评论(0) 推荐(0) 编辑

⑨讲图论第四课: Dijkstra算法求最短路

摘要: 迪科斯彻算法(英语:Dijkstra's algorithm)是由荷兰计算机科学家艾兹赫尔·戴克斯特拉(Edsger Wybe Dijkstra)发明的。算法解决的是有向图中单个源点到其他顶点的最短路径问题。举例来说,如果图中的顶点表示城市,而边上的权重表示著城市间开车行经的距离,该算法可以用来找到两个城市之间的最短路径。算法描述该算法的输入包含了一个有权重的有向图 G,以及G中的一个来源顶点 S。我们以 V 表示 G 中所有顶点的集合。每一个图中的边,都是两个顶点所形成的有序元素对。(u, v) 表示从顶点 u 到 v 有路径相连。我们以 E 所有边的集合,而边的权重则由权 阅读全文

posted @ 2013-02-12 18:44 电子幼体 阅读(211) 评论(0) 推荐(0) 编辑

⑨讲图论第三课: 图的邻接表表示法

摘要: 每个链表的上边附设一个表头结点,在表头结点中,除了设有链域first用于指向链表中第一个结点之外,还设有存储顶点vi名或其它有关信息的数据域data 。把同一个顶点发出的边链接在同一个边链表中,链表的每一个结点代表一条边,叫做表结点,结点中保存有与该边相关联的另一顶点的顶点下标 vertex 和指向同一链表中下一个表结点的指针 next。在有向图的邻接表中,第 i 个边链表链接的边都是顶点 i 发出的边。也叫做出边表。在有向图的逆邻接表中,第 i 个边链表链接的边都是进入顶点 i 的边。也叫做入边表。邻接表的类型定义#define nmax 100 /*假设顶点的最大数为100*/ ty... 阅读全文

posted @ 2013-02-12 17:11 电子幼体 阅读(342) 评论(0) 推荐(0) 编辑

⑨讲图论第二课: 图的邻接矩阵表示法

摘要: 邻接矩阵是表示一个图的常用存储表示。它用两个数组分别存储数据元素(顶点)的信息和数据元素之间的关系(边或弧)的信息。将的顶点标为。若,,否则。无向图的邻接矩阵是对称的,有向图的邻接矩阵一般情况下是不对称的。在有向图中, 统计第 i 行 1 的个数可得顶点 i 的出度,统计第 j 列 1 的个数可得顶点 j 的入度。在无向图中, 统计第 i 行 (列) 1 的个数可得顶点i 的度网络的邻接矩阵若G是网络,则邻接矩阵可定义为:若i==j则a[i][j]=0;若i!=j&&则a[i][j]=W(i,j);否则a[i][j]=OO;邻接矩阵表示法中图的类型定义:#define MAXS 阅读全文

posted @ 2013-02-12 16:18 电子幼体 阅读(483) 评论(0) 推荐(0) 编辑

⑨讲图论第一课: 图的基本概念

摘要: 图的定义:一个图G是由两个集合V和E组成,V是有限的非空顶点集,E是V上的顶点对所构成的边集,分别用V(G)和E(G)来表示图中的顶点集和边集。用二元组G=(V,E)来表示图G。有向图与无向图:若图G中的每条边都是有方向的,则称G为有向图。有向边也称为弧。若图G中的每条边都是没有方向的,则称G为无向图。完全图:对有n个顶点的图,若为无向图且边数为n(n-1)/2,则称其为无向完全图;若为有向图且边数为n(n-1) ,则称其为有向完全图。邻接顶点:若(vi,vj)是一条无向边,则称顶点vi和vj互为邻接点,或称vi和vj相邻接,并称边(vi,vj)关联于顶点vi和vj,或称(vi,vj)与顶点v 阅读全文

posted @ 2013-02-12 15:52 电子幼体 阅读(265) 评论(0) 推荐(0) 编辑

2013年2月4日

网络流初步

摘要: 一、网络流的定义有向图 G = ( V, E )中:•有唯一的一个源点S(入度为0:出发点)•有唯一的一个汇点 T(出度为0:结束点) •图中每条弧 (u, v) 都有一非负容量 c ( u, v )满足上述条件的图G称为网络流图。记为: G = ( V, E ,C)1、可行流◆每条弧 ( u, v )上 给定一个实数f(u,v),满足:有 0 <= f ( u, v ) <= c( u, v ),则f(u,v)称为弧( u, v )上的流量。◆如果有一组流量满足条件: 源点s : 流出量 = 整个网络的流量 汇点t : 流入量 =整个网络的流量 中间点:总流入量 = 总流出量 那 阅读全文

posted @ 2013-02-04 22:19 电子幼体 阅读(256) 评论(0) 推荐(0) 编辑

2013年2月2日

poj 3026 Borg Maze

摘要: Borg MazeTime Limit:1000MSMemory Limit:65536KTotal Submissions:6176Accepted:2087DescriptionThe Borg is an immensely powerful race of enhanced humanoids from the delta quadrant of the galaxy. The Borg collective is the term used to describe the group consciousness of the Borg civilization. Each Borg 阅读全文

posted @ 2013-02-02 22:57 电子幼体 阅读(121) 评论(0) 推荐(0) 编辑

2013年2月1日

标准C++中的string类的用法总结

摘要: 要想使用标准C++中string类,必须要包含#include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件using std::string;using std::wstring;或using namespace std;下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。string和wstring的用法是一样的,以下只用string作介绍:string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,ch 阅读全文

posted @ 2013-02-01 11:12 电子幼体 阅读(108) 评论(0) 推荐(0) 编辑

导航