- 博客(36)
- 资源 (2)
- 收藏
- 关注
原创 展开型博弈
对于任一正整数n, 一个n人展开型博弈(n-person extensive-form game)是对每个结点和每个枝都规定标号的一颗根数,且满足下列5个条件: 1.每个非终结点有集{0,1,2,…,n}中的一个局中人标号(player label)。局中人标号为0的结点称为机会结点(chance nodes)。集合{1,2,…,n}表示这个博弈的局中人集,并且对此集中的每个i,具有局中人标号i的
2016-04-29 15:24:44
1888
原创 文章标题
挖掘频繁模式、关联和相关性:基本概念和方法基本概念频繁模式:是指频繁地出现在数据集中模式(如相集、子序列或子结构) 关联规则的支持度(support)反映发现规则的有用性。 规则A->B的支持度s=P(AUB) 即s是数据库中包含AUB的百分比。 规则
2015-11-11 23:09:44
507
原创 红黑树
红黑树性质1.每个结点或是红的,或是黑的 2.根结点是黑的 3.每个叶结点(NIL)是黑的 4.如果一个结点是红的,则它的两个儿子都是黑的 5.对每个结点,从该结点到叶结点的所有路径上包含相同数目的黑结点 从某个结点x出发(不包括该结点)到达一个叶结点的任意一条路径上,黑结点的个数成为该结点x的黑高度,用bh(x)表示。红黑树的插入我们为了简化RB-INSERT-FIXUP的过程,让新插入
2015-10-10 21:45:26
445
原创 Binary Search Trees
DefinitionA binary search tree is organized, as the name suggests, in a binary tree. Each node is an object. In addition to a key field and satellite data, left, right, and p fields that point to the n
2015-09-30 17:12:05
1923
原创 数据挖掘
数据预处理主要任务数据清理(data cleaning)通过填写缺失的值,光滑噪声数据,识别或删除离群点,纠正数据中得不一致。缺失值忽略元组人工填写缺失值使用一个全局常量填充缺失值使用属性的中心度量(如均值或中位数)填充缺失值使用与给定元组属同一类的所有样本的属性均值或中位数使用最可能得值填充缺失值噪声噪声是被测量的变量的随机误差或方差。 数据集成(data integration)数
2015-09-29 00:29:56
491
原创 Hash Table
Direct-address tablesDirect addressing is a simple technique that works well when the universe ⋃\bigcup of keys is reasonably small. Suppose that an application needs a dynamic set in which each elemen
2015-09-24 17:16:14
619
原创 Counting sort
Counting sort assumes that each of the n input elements is an integer in the range 0 to k , for some integer k. When k=OO(n), the sort runs in Θ\Theta(n) time. The basic idea of counting sort is to de
2015-09-23 20:09:58
748
原创 Reverse Integer
Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321Have you thought about this?Here are some good questions to ask before coding. Bonus points for you if
2015-09-14 21:39:04
385
原创 KMP的实现
#include using namespace std;int* buildNext(char * p){ size_t m = strlen(p), j = 0; int *Next = new int[m]; int t = Next[0] = -1;//模式串指针 while (j<m - 1) { if (t<0 || p[j] == p[t]) { Next[
2015-09-14 16:37:10
387
原创 Implement strStr()
Implement strStr().Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. class Solution {public: int strStr(string haystack, string needle)
2015-09-14 16:30:49
388
原创 堆排序
堆是用数组来存储的,可以被看成一个近似的完全二叉树,树上的每一个结点对应数组中的一个元素。规定树的根节点是Array[1],即从下标1开始。这样给定一个结点i,我们可以很容易计算它的父结点、左孩子和右孩子的下标:PARENT(i)=[i/2];LEFTCHILD(i)=2i;RIGHT(i)=2i+1;最大堆:除了根以外的所有结点i都要满足:Array[PARENT(i)]>=Array[
2015-08-22 15:08:28
434
原创 快速排序
快速排序是采用分治思想的。下面是分治过程的三个步骤。分解:数组A[p…r]被划分成两个(可能空)子数组A[p…q-1]和A[q+1…r],使得A[p…q-1]中的每个元素都小于等于A[q],A[q+1…r]中每个元素都大于A[q],而下标q也在这个划分过程中进行计算。解决:通过递归调用快速排序,对子数组A[p…q-1]和A[q+1…r]排序。合并:因为两个子数组是就地排序的,将它们合并
2015-08-21 10:59:22
593
原创 shell排序
templatevoid Shell_Sort(T arr[], int N){ for (int D = N / 2; D > 0; D /= 2) { for(int i = D; i < N; i++) { int j = i; T tmp = arr[i]; while ( j >= D&&tmp < arr[j - D]) { arr[j]
2015-08-20 22:22:24
412
原创 冒泡排序、直接插入排序
冒泡排序templatevoid Bubble_Sort(T arrary[], int N){ for (int i = N-1; i >=0; i--) { for (int j =0; j < i; j++) { if (arrary[j] > arrary[j + 1]) { swap(arrary[j], arrary[j+1]); }
2015-08-20 21:49:12
445
原创 BST的插入、删除、查找操作
#includeusing namespace std;typedef struct TreeNode{ char Data; TreeNode* Left; TreeNode* Right;}*BinTree;BinTree Insert(BinTree &T, char e)//要传T的引用{ if (T==NULL) { T = (BinTree)malloc
2015-08-20 17:02:31
795
原创 AVL的插入过程
#include#includeusing namespace std;#define ElementType inttypedef struct AVLTreeNode{ ElementType Data; AVLTreeNode* Left; AVLTreeNode* Right; int height;}*AVLTree;int GetHeight(AVLTre
2015-08-20 16:59:21
1098
原创 二叉树利用中序+后序----->前序
#includeusing namespace std;typedef struct TreeNode{ char Data; TreeNode* Left; TreeNode* Right;}*BinTree;BinTree InPostpre(char* inorder, char * postorder, int length){ BinTree BT; if (
2015-08-20 16:57:13
472
原创 二叉树利用前序遍历+中序遍历---->后序遍历(把整个树建立起来)
#include#includeusing namespace std;typedef struct TreeNode{ char Data; TreeNode* Left; TreeNode* Right;}*BinTree;BinTree InPrePost(char* inorder, char * preorder, int length){ BinTree BT
2015-08-20 16:54:58
516
原创 二叉树的层次遍历
void LevelOrderTraversal(BinTree BT){ if (!BT) return; queue Q; Q.push(BT); BinTree tmp=BT; while (!Q.empty()) { tmp = Q.front(); Q.pop(); printf("%c", tmp->Data); if
2015-08-20 16:49:59
361
原创 二叉树的非递归前序、中序、后序遍历
#define _CRT_SECURE_NO_WARNINGS#include#include#includeusing namespace std;typedef struct TreeNode{ char Data; TreeNode* Left; TreeNode* Right;}*BinTree;typedef struct _
2015-08-20 16:41:47
355
原创 二叉树递归版本的前序、中序、后序
#define _CRT_SECURE_NO_WARNINGS#include#includeusing namespace std;typedef struct TreeNode{ char Data; TreeNode* Left; TreeNode* Right;}*BinTree;typedef struct _BinNode{ BinTree p; b
2015-08-20 16:32:14
412
原创 二叉树的递归遍历
#define _CRT_SECURE_NO_WARNINGS#includeusing namespace std;typedef struct TreeNode{ char Data; TreeNode* Left; TreeNode* Right;}*BinTree;void CreateBinTree(BinTree &p){ char tmp; scan
2015-08-18 17:28:06
456
原创 C++中命名空间
标准C++中引入了关键字namespace(命名空间),可以更好地控制标识符的作用域,避免命名冲突。在大型的软件项目中,几个程序员使用的函数名或类名发生冲突的可能性很大。假设某个程序员使用名为map的类------也许指的是计算机游戏中的地图------而未意识到标准库中已经有map类(键值对集合)。通过使用命名空间,就可以在同一个程序中使用这两个类。如果要使用标准库中的map类,可以使用限定名s
2015-07-01 10:38:57
537
原创 C和C++的struct区别
C语言中struct和typedef structtypedef struct Student{ char name[10]; int age;}Stu;在声明变量的时候就可:Stu stu1;这里的Stu实际上就是struct Student的别名。struct Student{ char name[10]; int age;};如
2015-06-26 20:27:07
445
原创 C源程序到可执行文件的四个过程
C源程序到可执行文件的四个过程1.预处理gcc -E -hello.c -o hello.i2.编译gcc -S -hello.i -o hello.s3.汇编gcc -c hello.s -o hello.o4.链接gcc hello.o -o hello
2015-06-26 10:02:12
2252
转载 URL的组成
介绍下普通URL的各部分组成http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name从上面的URL可以看出,一个完整的URL包括以下几部分:1.协议部分:该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,如HTTP,FTP等等本
2015-06-26 09:42:40
767
原创 二维指针的三种内存类型
二维指针的三种类型第一种:char *p[3]={"aaa","bbb","ccc"};第二种char a[4][3]={"aa","bb","cc"};第三种
2015-06-24 10:32:02
592
原创 Linux中命令运行的顺序
命令运行的顺序1. 以相对/绝对路径执行命令,例如“/bin/ls”或“./ls”;2. 由alias找到该命令来执行;3. 由bash内置的命令来执行;4. 通过$PATH这个变量的顺序找到的第一个命令来执行我们可以通过type –a command来了解命令查询的顺序。
2014-12-19 14:18:12
741
原创 /etc/shadow文件结构
/etc/shadow文件结构我们先看一下/etc/shadow文件里面是什么?[root @ hacker:~/桌面]# head -n 5 /etc/shadowroot:$6$mbByAIhDH25ogWG7$e6MfI/RYrmwvZruuF5S0A02KV7reRpWnZX1jBafU4WQuW4bpYUrRhOBY74azSCNepsyL.poctFFjGs
2014-12-18 10:30:00
1257
原创 /etc/passwd 文件结构
/etc/passwd 文件结构每一行代表一个账号,有几行就代表你的系统中有几个账号。注意一点:里面很多账号本来就是系统正常运行所必须得,我们可以简称它为系统账号,例如bin,daemon,adm,nobody等。每一行使用“:”分隔开,共有七个字段。1. 账号名称就是账号,用来对应UID的。2. 密码早期UNIX系统的密码就放在这字段上,后来将密码数据字段的数据改放到
2014-12-18 09:38:55
2442
转载 const 在c和c++中的区别
const 在c和c++中的区别 http://tech.e800.com.cn/articles/2009/722/1248229886744_1.html++++++++++++++++++++++++++++++++++++++++1. C++中的const正常情况下是看成编译期的常量,编译器并不为const分配空间,只是在编译的时候将期值保存在名字表中,并在适当的时候折合
2014-12-01 20:58:18
619
原创 Linux的常识
1. 由目的单一的小程序组成;组合小程序完成复杂的任务;2. 一切皆文件;3. 尽量避免捕获用户接口;4. 配置文件保存为纯文本格式;
2014-11-25 15:02:47
645
转载 箭头的重载
今天看《C++ Primer》的成员访问操作符。看重载箭头操作符部分,刚开始有点迷茫,看了两遍总算有点理解,把心得写在这,与各位分享,如果有错误欢迎指正。箭头操作符(->)的通常用法是,使用一个类对象的指针来调用该指针所指对象的成员。左操作数为对象指针,右操作数为该对象的成员。定义重载箭头操作符之后看起来就有点特别,可以用类对象的指针来调用,也可以用类对象直接调用。重载箭头操作符,首先重载
2013-09-24 00:00:57
910
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人