- 博客(75)
- 资源 (31)
- 收藏
- 关注
原创 Dijkstra算法--寻找最短路径
#include<iostream>using namespace std;const int maxnum = 100;const int maxint = 999999;//各数组都从下标1开始int dist[maxnum]; int prec[maxnum];int c[maxnum][maxnum];int n, line;void Dijkstra(int n,in
2015-12-28 15:50:36
634
原创 BellMan-Ford算法--寻找最短路径
## 序言 ##Bellman-Ford算法解决的是一般情况下的单元最短路径问题,在这里,边的权重可以为赋负值,在给定带权重的有向图G=(V,E)和权重函数w:E->,Bellman-Ford 算法返回一个布尔值,以表明是否存在从源节点可以到达的权重为负值的环路。那么如果存在这样一个环路,算法将告诉我们不存在解决方案,如果没有这种环路存在,算法将给出最短路径和它们的权重。 Bellman-For
2015-12-26 21:15:31
865
原创 迷宫问题
## POJ 3948 ##定义一个二维数组:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。 输入:一个5 × 5的二维数组,表示一个迷宫
2015-12-26 17:18:03
688
原创 Kosaraju算法---求解强连通分量
有向图强连通分量在有向图G中,如果两个顶点Vi,Vj间(Vi>Vj)有一条从Vi到Vj的有向路径,同时还有一条从Vi到Vj的有向路径,则称这两个顶点强。连通(strongly connected),如果有向图G中的任意两个顶点都强连通,则称G是一个强连通图。Kosaraju算法、Tarjan算法、Gabow算法皆为寻找有向图强连通分量的有效算法。但是在Tarjan 算法和 Gabow 算法的过程中,
2015-12-26 15:13:13
680
原创 查找字典中具有某个公共前缀的所有单词
## Trie.h ###include<set>#include<string>#define BRANCH 26using namespace std;struct Node{ Node * next[BRANCH]; int prefix; //此前缀的单词个数 bool isStr; Node() : prefix(0), isStr(fal
2015-12-26 13:58:02
555
原创 并查集
## 序言 ##在算法导论上称之为”不相交集合” ,那么它是一种树形的数据结构,常用于处理一些不相交集合的合并以及查询问题。## 基本操作 ##1.合并两个不相交集合(Union(x,y)) 原理其实很简单,先设置一个数组Father[X],表示x的”父亲”的编号。那么,合并两个不相交集合的方法就是,找到其中一个集合父亲的父亲(也就是最久远的祖先),同时呢,将另外一个集合的最久远的祖先的父亲指
2015-12-24 22:07:45
266
原创 Prim算法的C语言实现(邻接矩阵)
#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <string.h>#define MAX 100 // 矩阵最大容量#define INF (~(0x1<<31)) // 最大值(即0X7FFFFFFF)#define isLetter(a) (((
2015-12-24 17:23:46
2357
原创 Kruskal算法C语言实现
#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <string.h>#define MAX 100 // 矩阵最大容量#define INF (~(0x1<<31)) // 最大值(即0X7FFFFFFF)#define isLet
2015-12-24 12:05:09
4259
1
转载 Van Emde Boas Trees
## 介绍 ##van Emde Boas trees 支持所有优先级优先级队列的操作,并且巧妙的是它对于SEARCH, INSERT,DELETE,MINIMUM,MAXMUN,SUCCESSOR,和PREDECESSOR这些操作的支持都在最坏复 杂度O(lglgn)之内。不过有些限制的是,所有的Kye值都必须在 0…n−1之间,且不能有重复值。换言之,他的算法复杂度不由数据的规模 有多 大而决
2015-12-21 11:07:50
3688
转载 斐波那契堆
## 斐波那契堆的介绍 ##斐波那契堆是堆的一种,它和二项堆一样,也是一种可合并堆,可用于实现合并优先队列。而斐波那契堆比二项堆具有更好的平摊分析性能,它的合并操作的时间复杂度是O(1). 与二项堆一样,它也是由一组堆最小有序树组成,并且是一种可合并堆。 与二项堆不同的是,斐波那契堆中的树不一定是二项树;而且二项堆中的树是有序排列的,但斐波那契堆中的树都是有根而无序的。## 斐波那契堆的基本操
2015-12-19 14:25:58
425
原创 链表
## 链表的删除 ##void list_delete(node * L, int i){ node * u; node * P = L; int k = 0; while (k != i - 1 && P! = NULL) { P = P->next; k++; } if (P = NULL || P->n
2015-12-18 21:05:03
294
原创 复制文件
## Copy.java ##//Show Code With Line Numbersimport java.io.*;public class Copy { /** Main method @param args[0] for sourcefile @param args[1] for target file */ public static void m
2015-12-11 19:57:48
325
原创 创建一个计算器
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Calculator extends JApplet { private JTextField jtf = new JTextField(10); private boolean newNumber = true; private i
2015-12-11 15:06:27
420
原创 实例学习:弹跳的小球
## 题目要求 ##小球在面板上弹跳。使用两个按钮暂停和重新开始小球的运动,使用一个滚动条控制小球弹跳的速度。## 主要步骤 ##1)创建一个JPanel的子类,将它命名为Ball,用来显示小球的弹跳, 2)创建一个JPanel的子类,将它命名为BallControl包含一个小球,一个滚动条,两个控制按钮,## Ball.java ##import javax.swing.Timer;imp
2015-12-11 14:13:11
2973
原创 幻灯片放映
## 题目要求 ##开发一个幻灯片展示程序,加上是个名为slide0.txt,slide1.txt,…….slide9.txt;的文本文件存储在text目录下。每张幻灯片显示一个文件的文本,每张幻灯片持续显示一秒,而且一次显示,当显示完最后一张幻灯片后,重新显示第一张,一次类推。import java.awt.event.*;import javax.swing.*;public class s
2015-12-10 20:50:22
504
原创 B树
## 定义 ##任何和关键字相联系的“卫星数据”将与关键字一样存放在同一个节点中。## 性质 ## ## B树的高度 ## B树上大部分的操作所需的磁盘存取次数与B树高度成正比。 ## B树上的基本操作 ##搜索B树B-TREE-SEARCH(x,k){int i=1;while(i<=x.n&&k>x.keyi)i=i+1;if(i<=x.n&&k==x
2015-12-04 11:04:18
405
原创 表扩张
我们假定表的存储空间是一个槽的数组。当所有槽都已被使用时,表被填满,此时装载因子为1.于是在某些软件环境下,当试图像一个满的表插入一个数据项时,唯一的选择就是报错退出。但我们假定,我们的软件环境与很多现代软件系统一样,提供一个内存管理系统系统,可以根据需要分配和释放内存块,因此当试图像一个满的表插入一个数据项,我们可以扩张表--分配一个包含更多槽的新表。由于我们总是需要表位于连续的内存空间中,因此我
2015-12-03 20:37:01
595
原创 赫夫曼编码
如我们大家所知:赫夫曼编码常用于数据压缩,通常可以压缩%20至%90的空间。 ## 我们可以构造一个赫夫曼编码 ###include"iostream" #include "queue" #include "map" #include "string" #include "iterator" #include "vector" #include "algorithm"
2015-12-02 21:15:45
333
原创 聚合分析:二进制计数器
作为聚合分析的一个例子,我们来看一个k位二进制计数器递增问题,计数器是的初值为0.我们用一个位数组A[0,,,K-1]作为计数器,其中K=A.length,当计数器保存的二进制值为x时,x的最低位保存在A[0]中,而最高位保存在A[k-1]中,废话了这么多,## 代码 ###include <iostream>using namespace std;void count(int a[], in
2015-12-02 19:59:47
746
原创 最长公共子序列
## 问题描述 ##给定两个序列X={x1,x2,x3,…xm};y={y1,y2,y3,…yn}求X和Y公共最长子序列。本节将展示如何用动态规划方法高效地求解LCS问题.## 步骤一 ##刻画最长公共子序列的特征,如果用暴力方法求解LCS问题,就要穷举X的所有子序列,对每个子序列检查它是否也是Y的子序列,记录找到的最长子序列,所以呢,X有2的m次方个子序列,因此暴力方法的运行时间为指数阶,对较
2015-12-01 19:08:31
503
原创 0-1背包问题
## 问题描述 ## 有一个窃贼在偷窃一家商店时发现有n件物品,第i件物品价值为vi元,重量为wi,假设vi和wi都为整数。他希望带走的东西越值钱越好,但他的背包中之多只能装下W磅的东西,W为一整数。他应该带走哪几样东西?0-1背包问题中:每件物品或被带走,或被留下,(需要做出0-1选择)。小偷不能只带走某个物品的一部分或带走两次以上同一个物品。 部分背包问题:小偷可以只带走某个物品的一部分,不
2015-12-01 16:18:57
418
原创 动态规划
动态规划与分支方法相似,都是通过组合子问题的解求解原问题 其步骤分为: (1):刻画一个最优解的结构特征。 (2):递归地定义最优解的值。 (3):计算最优解的值,通常采取自底向上的方法。 (4):利用计算出的信息构造一个最优解。 ## 钢条切割问题 ## CUT-ROD(int *p,n)if(n==0)return 0;int q=-INF;//作为标记for(in
2015-11-30 20:09:22
306
原创 区间树--(第14章200)
INTERVAL-INSERT(T,x)//将包含区间属性int 的元素x插入到区间树T中 INTERVAL-DELETE(T,x)//从区间树T中删除元素x INTERVAL-SEARCH(T,i)//返回一个指向区间树T中元素x的指针,使x.int重叠,若此元素不存在,则返回T.tail。 INTERVAL-SEARCH(T,i)x=T.root;while(x!=T.nail&&i
2015-11-30 15:32:50
337
原创 数据结构的扩张—算法导论第14章(194)
OS-SELECT(x,i)int r=x.left.size+1;if(i==r){return x;}esleif(i<r)return OS-SELECT(x.left,i);elsereturn OS-SELECT(X.right,i-r);## 伪代码解释 ##为明白OS-SELECT是如何操作的,在上图所示的顺序统计图上查找第17小元素的查找过程。以X为根开始,其关
2015-11-30 13:38:29
394
原创 使用按钮
## 题目要求 ##在面板上显示一条消息,然后使用两个按钮=》和《=在面板上向右或者向左移动这个消息。ButtonDemo.javaimport java.awt.*;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import javax.swing.*;public class ButtonD
2015-11-29 20:01:39
275
原创 绘制一个显示当前时间的StiilClock
## ClockAnimation.java ##`import javax.swing.*; import java.awt.event.*; public class ClockAniamtion extends JFrame{private StillClock clock=new StillClock();public ClockAniamtion(){ add(cloc
2015-11-29 16:53:05
512
原创 使用Timer类的动画
程序清单“` import java.awt.*; import java.awt.event.*; import javax.swing.*;public class AnimationDemo extends JFrame {public AnimationDemo(){ add(new MovingMessagepanel("Message moving"));}publi
2015-11-29 14:52:36
666
原创 使用鼠标在面板上移动消息
“` import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter;import javax.swing.JFrame; import javax.swing.JPanel;public class Loan extends JFrame { public
2015-11-28 21:52:00
473
原创 显示日历
## 题目要求 ##使用MyCalendar 类显示指定月份的日历程序从命令接收月份和年份。如果运行程序没有指定月份和年份,那么,年份就是当前年份,月份就是当前月份。## MyCalendar类 ##import java.awt.*;import java.util.*;public class MyCalendar extends GregorianCalendar{ pub
2015-11-28 16:05:08
628
原创 将16进制字符转换成10进制
## 题目要求 ##将16进制字符转换成10进制,在字符串不是16进制字符串时抛出NumberFormatException异常。public class display { public static void main(String[] args) { System.out.println(parseHex("A5")); System.out.println(parse
2015-11-28 14:26:40
2514
原创 游戏:显示一个棋盘
## 题目要求 ##编写一个程序,显示一个棋盘,期盼中的每一个白色格和黑色格都是将背景设置为黑色或者白色JButton,import java.awt.*;import javax.swing.*;public class display extends JFrame{ public static void main(String[] args) { dis
2015-11-28 11:00:37
1234
原创 游戏:ATM机
## 题目要求 ##使用Account类来模拟一台ATM机,创建一个有10个账户的数组,其ID从0到9,并初始化收支为100美元。系统会提示用户输入一个 ID 如果输入的ID不正确,就要求用户输入正确的ID,一旦接收一个ID就显示如结果所示的主菜单,而且系统会再次提示输入ID所以,系统一旦启动,就不会停止。## Account类 ##class Account { private int id
2015-11-27 20:13:39
3215
原创 统计一个文件中的字符数,单词数,制表符。
import java.io.*;import java.util.*;public class TongJi { public static void main(String args[]) throws Exception { int charCount = 0, wordCount = 0, lineCount = 0; // Check usage if (arg
2015-11-24 15:15:15
669
原创 替换文本
## 替换指定文本 ##import java.awt.BorderLayout;import java.awt.Desktop;import java.awt.Dimension;import java.awt.EventQueue;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java
2015-11-24 14:02:05
319
原创 文件的输入与输出
import java.io.*;import java.util.Scanner;import java.io.FileOutputStream;public class Readdata { public static void main(String[] args) throws IOException{ Scanner sc = null; tr
2015-11-23 21:06:57
305
原创 猜测首府
题目要求重复地提示用户输入一个州的首府一旦接受到用户的输入程序就会报告这个输入是否正确,,加入有一个二维的数组存储了55个州和它们的首府。import javax.swing.JOptionPane;public class Exercise9_22 { public static void main(String[] args) { String[][] stateCapital =
2015-11-23 20:58:44
1082
原创 GUI对话框
## 题目要求: ##Java提供javax.swing.JFileChooser类来显示文件对话框,在这个对话框里面用户可以选择一个文件。import java.awt.Component;import java.util.Scanner;import javax.swing.*;public class Readdata{private static final Component
2015-11-23 20:42:57
296
原创 Matlab学习历程
##双精度实数型的求和--用mexTest函数实现###include "mex.h"#define x_in 0#define y_out 0/*求和子程序*/extern int dp_sum(const int N, const double* X){ int i; double sum; sum = 0.0; for (i = 0; i < N; i
2015-11-15 16:01:26
490
原创 Matlab学习历程
## 一个简单的hello word ###include"mex.h"void mexFunction( int nlhs, mxArray *plhs[], int nrhs, mxArray *prhs[]){ mexPrintf("hello word");}
2015-11-15 14:37:51
315
原创 数据库课堂笔记
数据库函数## 返回TABLE##create function sc_inf(sdept varchar(10),name varchar(10))return tableas (select stu.* sc.* course.*from sc ,stu,coursewhere stu.sno=sc.sno and sc.cno=course.cno and sdept
2015-11-13 21:58:13
306
Python数据分析与挖掘实战
2017-06-16
利用Python进行数据分析
2017-06-16
Head First Python(中文版)
2017-04-03
神经网络与机器学习(原书第3版)
2015-12-30
数据库系统概论(第四版)
2015-12-23
机器学习实战(中文版).pdf
2015-12-23
文件c#图书管理系统
2015-11-15
MATLAB使用手册中文版
2015-11-03
c++API设计
2015-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人