这个算法主要要弄懂三个循环的顺序关系。弗洛伊德(Floyd)算法过程:1、用D[v][w]记录每一对顶点的最短距离。2、依次扫描每个点,并以其为基点再遍历全部每一对顶点D[][]的值,看看是否可用过该基点让这对顶点间的距离更小。算法理解:最短距离有三种情况:1、两点的直达距离最短。(例如以下图)2、...
分类:
编程语言 时间:
2015-05-10 11:16:21
阅读次数:
169
1.Swfit语法中使用func关键字来申明函数func sayHi(){ println("Hi !")}结果显示:Hi !2.带参数和返回值函数,参数为String,返回值为String的函数func sayHiToPerson(personName:String) ->String{ ...
分类:
编程语言 时间:
2015-05-10 11:14:25
阅读次数:
123
要想深入的理解STL的迭代器、分配器等,就必须了解C++模板编程中的一个技巧——Traits。1、问题的提出C++的模板特性为泛型编程提供了支持。这样我们就可以编写更加通用的代码,而不必过分去关心参数的类型。然而事实却是,类型的不同,很多时候却影响到了算法中的某个小小的实现。举个标准库里的类stri...
分类:
编程语言 时间:
2015-05-10 11:14:31
阅读次数:
353
1、main方法是怎么写的public static void main(String [] args){}2、变量的命名规则是怎么样的?类名的定义:必须以大写开始,采用驼峰命名方法名、属性名的定义:以小写开始,采用驼峰命常量:全部大写3、if…else…和写两个if 有什么区别两个if为两次选择判...
分类:
编程语言 时间:
2015-05-10 11:13:21
阅读次数:
164
把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式lambda(lambda x: x*2)(3) 装饰器decorator装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理, Web权限校验, Cache等。例如记录日...
分类:
编程语言 时间:
2015-05-10 11:15:00
阅读次数:
181
原文链接:http://blog.csdn.net/candyliuxj/article/details/7853938(1)编译单元(模块) 在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作:第一步:将每个.cpp和相应的.h文件编译成obj文件;第二步:将工程...
分类:
编程语言 时间:
2015-05-10 11:13:31
阅读次数:
142
IronPython是一个.NET平台上的Python实现,包括了完整的编译器、执行引擎与运行时支持,能够与.NET已有的库无缝整合到一起。IronPython已经很好的集成到了.NET framework中,所以Ironpython和C#的交互也就变得很简单了。下面就通过一些简单的例子来看看Iro...
分类:
编程语言 时间:
2015-05-10 11:12:03
阅读次数:
129
次表面散射是一种非常常用的效果,可以用在很多材质上如皮肤,牛奶,奶油奶酪,番茄酱,土豆等等初衷是想做一个牛奶shader的,但后来就干脆研究了sss这是在vray上的次表面散射效果这是本文在unity中实现了的次表面散射效果:左侧为BRDF(双向反射分布),右侧为BSSRDF(双向次表面散射反射分布...
分类:
编程语言 时间:
2015-05-10 11:10:20
阅读次数:
272
堆排序是利用堆积树这种数据结构设计的一种算法。
要学习堆排序,我们首先要了解什么是二叉堆:
二叉堆是完全二叉树这这是近似完全二叉树。二叉堆可分为两种形式:最大堆和最小堆。
最大堆的性质是指某个结点的值至多与起父结点的值一样大,最小堆的性质就是指某个节点的值都大于其父结点的值。下图是一个最大堆和一个最小堆。
在堆排序中我们一般使用最大堆。我们要进行堆排序,首先需要把我们的数组转化成一个最大堆...
分类:
编程语言 时间:
2015-05-10 10:01:00
阅读次数:
170
使用stax操作xml 非常的简单,它的读取过程像是一个光标在移动。针对不同的节点做不同的处理。
先看一个基于光标的模型处理xml:public class StaxTest { @Test
public void test1() {
try {
// 1.构建XMLStreamReader
XMLInputFactor...
分类:
编程语言 时间:
2015-05-10 10:00:38
阅读次数:
171
# 使用好任何机器学习算法的前提是选好Features
from numpy import *
import operator
from os import listdir
def classify0(inX, dataSet, labels, k):
dataSetSize = dataSet.shape[0]
diffMat = tile(inX, (dat...
分类:
编程语言 时间:
2015-05-10 09:56:10
阅读次数:
202
阶乘很好求,递归就行了,但对于较大的数,阶乘的结果非常非常大,木有办法,只能用string来处理。
我们用string的乘法来做。经测试,这个程序能运行的最大n值差不多能到3000,和windows上自带的科学计算器差不多:)
string multiply(string num1, string num2) {
int len1 = num1.size(), len2 = n...
分类:
编程语言 时间:
2015-05-10 09:55:30
阅读次数:
132
下面这些代码可以在playground中展现出来
import UIKit
/* 实例化一个 UIView
的对象,保存在堆中
[[UIView alloc] initWithXXX:xxx] 所有 OC中以这种格式的实例化方法,在 swift
中都可以使用
类(XXX:)*/
let view =
UIView(frame: CGRe...
分类:
编程语言 时间:
2015-05-10 09:53:02
阅读次数:
153
我们想往一个文件里写东西,初始版本:
import java.io.*;
class FileWriterDemo{
public static void main(String[] args) {
FileWriter fw = new FileWriter("demo.txt"); //创建流,打开(如果不存在,新建)文件
fw.write("abcdefg");...
分类:
编程语言 时间:
2015-05-10 09:53:20
阅读次数:
132
1.gets()函数
#include
int main(int argc, char *argv[])
{
char buff[10];
memset(buff, 0, sizeof(buff));
gets(buff);
printf("\n The buffer entered is [%s]\n",buff);
return 0;
}答:上面代码里的问题在于函数gets...
分类:
编程语言 时间:
2015-05-10 09:52:12
阅读次数:
132
//归并排序
#include
#include
#include
#include
using namespace std;
void merge_sort(array&, int);
int main()
{
array arr = { 1, 5, 2, 4, 3 };
merge_sort(arr, 5);
for (auto i : arr...
分类:
编程语言 时间:
2015-05-10 09:51:05
阅读次数:
122
class sort_algorithm
{
public:
int array[MAXN];
int n;
public:
sort_algorithm() { }
~sort_algorithm() { }
/*插入排序 复杂度O(n^2) 稳定排序*/
void Insertion_sort()
{
for (int i = 2; i <= n; i++)
{
i...
分类:
编程语言 时间:
2015-05-10 09:49:53
阅读次数:
141