文章分类 - 算法与数据结构
摘要:The Ford-Fulkerson Algorithm in C#include <stdio.h>Basic Definitions#define WHITE 0#define GRAY 1#define BLACK 2#define MAX_NODES 1000#define oo 1000000000Declarationsint n; // number of nodesint e; // number of edgesint capacity[MAX_NODES][MAX_NODES]; // capacity matrixint flow[MAX_NODES][MAX
阅读全文
摘要:探索 Boost Graph Library作者:Arpan Sen 发布于2013-3-6关于计算的公理表达通常颇具争论。然而,现代计算最重要的理论支柱之一的图论并不是这些公理表达之一。无数工程领域(从设计路由器和网络到设计构成移动设备核心的芯片)都是图论的应用。作为 C++ 应用程序软件开发人员,我们通常需要直接将实际工程问题转化成一个等价的图论问题。如果有一个可靠的基于 C++ 的通用图库,就可以帮助我们实现这个转换,这样的图库显然非常受欢迎:Boost Graph Library (BGL) 将填补这项空白。在本文中,您首先将创建一个无向图,然后按照常规的遍历例程创建一个有向图。随后,
阅读全文
摘要:有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如何找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)程序如下:boolIsExitsLoop(slist *head){ slist *slow = head,*fast = head;
阅读全文
摘要:习题13.在最大子数组问题中,给定m*n的实数数组,我们需要求出矩形子数组的最大总和。该问题的复杂度如何?问题解析:可以在长度为m的维度上使用算法2,而在长度为n的维度上使用算法4。可以在O(m^2*n)的时间复杂度内解决m*n问题。算法 c程序源码: 1 float max_subarr(float **array, int row, int col) 2 { 3 int i, j, k; 4 float *vector, max = 0, maxsofar, maxendinghere; 5 assert(row > 0 && col > 0); 6 vec..
阅读全文
摘要:在这篇文章里,我将探讨几个和求最大长方形相关的题目,并试图说明如何把一些相对复杂的问题化归成简单的易解的问题。这里的最大,可以指长方形内所有元素之各最大,也可以指面积最大。问题一(最大和子矩阵): 有一个 m x n 的矩阵,矩阵的元素可正可负。请找出该矩阵的一个子矩阵(方块),使得其所有元素之和在所有子矩阵中最大。(问题来源:http://acm.pku.edu.cn/JudgeOnline/problem?id=1050)问题二(最大 0/1 方块): 有一个 m x n 的矩阵,元素为 0 或 1。一个子矩阵,如果它所有的元素都是 0, 或者都是 1,则称其为一个 0-聚类 或 1-聚类
阅读全文
摘要:【题目描述】在 N 条水平线与 M 条竖直线构成的网格中,放 K 枚石子,每个石子都只能放在网格的交叉点上。问在最优的摆放方式下,最多能找到多少四边平行于坐标轴的长方形,它的四个角上都恰好放着一枚石子。【输入】输入文件包含多组测试数据。第一行,给出一个整数T,为数据组数。接下来依次给出每组测试数据。每组数据为三个用空格隔开的整数 N,M,K。33 3 84 5 137 14 86【输出】对于每组测试数据,输出一行"Case #X: Y",其中X表示测试数据编号,Y表示最多能找到的符合条件的长方形数量。所有数据按读入顺序从1开始编号。Case #1: 5Case #2: 18
阅读全文
摘要:憋屈地看了一个星期的论文,实在是没一点意思。为了娱乐一下自己,兼受同学启发,我决定用python写一个数独游戏。从大二开始装了个ubuntu系统 后,就发现了这个有趣的游戏。之后每次进入这个系统,非得先来几局数独;再到后来,为了玩数独,特意进了这个系统。喜欢这个自带的游戏的特点,界面简单, 只做必要的错误提示,可以回溯,是我用过的最理想的数独游戏了,呵呵。至于我自己打算做一个数独游戏,纯粹是为了现学现用。自从开始学python以来, 从来没有真正用它写过一段带有自己设计思想的代码,实是不该。何不就为自己做一个windows下也能玩的称心如意的数独呢?好了,取名就叫Eva's Sudok
阅读全文