关闭

聚类系数可调的无标度网络生成算法

0. BA无标度网络模型简单介绍: 实际网络的两个重要的特性:       (1)增长性:即网络的规模是不断的增长的,ER随机图和WS小世界模型中的网络的大小是固定       (2)优先连接(Preferential  attachment以下简称PA):新的节点更倾向于和那些具有较高的连接度的hub节点相连。这种现象也叫作“富者更富(Rich get richer)”或者是“马太效应”...
阅读(1251) 评论(9)

二叉树的基本操作

常用的二叉树的链式存储结构有二叉链表和三叉链表来表示,其数据结构的C语言定义以及示意图如下: 本来介绍基于二叉链表的存储结构上的二叉树的几个常用的操作:   1.二叉树的创建,   2.使用递归算法进行二叉树的先序,中序和后序遍历。   3.使用非递归算法进行二叉树的中序遍历(u需要借助于栈)   4.借助于数据结构队列实现二叉树的层序遍历。   5.一些其他的函数,求取叶子节...
阅读(490) 评论(0)

八大排序算法及实现

将一个元素插入到已经排好序的有序表中,从而使得有序表的   个数+1。 算法从第二个元素开始。将一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。  *  *2) 从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置以使得其变成有序的序列。  *  (如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)  *...
阅读(627) 评论(0)

higher-ordering cluster的C语言实现

#include #include #include #include #define INITIAL_SIZE 100 #define INCREMENT_SIZE 100 int vertax_size; int edge_size; char filename_edge[20]; typedef struct Node{ double value; int index; }Node...
阅读(395) 评论(1)

《Higher-order organization of complex networks》-论文学习笔记

0.前言:        最近阅读了Benson等人发表在science上的论文《Higher-order organization of complex networks》,在该论文中作者提出了一种通用的框架,可在网络中基于高阶连接模式进行聚类。 和以往接触的聚类方法(K-means, 层次聚类, DBSCAN, 或者OPRICS)等不同的是: K-means等在对item进行聚类的时候,...
阅读(887) 评论(4)

通过似然分析预测丢失的边和虚假的边--的C语言代码实现

#include #include #include #include int kc = 12; int training_set_size; int probe_set_size; int vertax_set_size; char training_filename[200]; char probe_filename[200]; char vertax_filename[200]; int...
阅读(361) 评论(0)

通过似然分析预测丢失的边和虚假的边(潘黎明,周涛著)

真实网络中的数据往往是不完全,存在噪音的。这时, 丢失边预测算法和虚假边的识别算法就有了用武之地。在这里提出了一种算法的框架:网络的似然可以通过预先定义好的哈密顿量来计算, 这个哈密顿量的定义考虑了网络形成的一些重要的驱动因素, 这样的话,一条没有被观测到的边的存在的“得分”可以通过计算将这条边加入已经观测到的网络中的似然来表示。 对于丢失边的预测问题,其目的是要根据已有的网路的拓扑结构和节点的...
阅读(775) 评论(0)

找出无向图中所有的环的算法

本文给出了一个找到无向图中所有的环的递归算法,该算法是基于DFS(深度优先搜索)的,大概的思路是:在深度优先搜索无向图的过程中,当遇到起始点的时候,会认定为出现环(在本文中只是找出了无向图中所有的长度大于等于3的环(长度为1和2的环没有意思),所以在深搜的过程中,当遇到的是起始点的时候,还需要进行判断是否是环),当确定是出现了环之后,根据是否在遇到环之前的那个点还有其他的路径,来决定是进一步的进行...
阅读(3629) 评论(4)

OPTICS算法的C语言实现

在这个方法中,不像前面的相关的聚类的文章中产生数据集合的聚类结果,而是产生一个基于密度的表示数据的固有的聚类结构的一个增广的排序,除了应用到DBSCAN中的相关的概念(核心对象, 直接密度可达,密度可达,和密度相连),有增加了两个概念, 一个是核心距离:即使得一个object满足称为核心对象的最小的距离(即,在用户输入的ε和MinPtr的情况下成为核心对象的最小的距离,如果改对象不是在ε和MinP...
阅读(806) 评论(0)

层次聚类算法之single-linkage和complete-linkage(C语言实现)

层次聚类试图在不同层次上对数据集合进行划分, 从而形成树形的聚类结构。数据集的划分可采用“自底向上”的聚合策略,也可以采用“自顶向下”的分拆策略。 AGNES是一种采用自底向上的聚合策略的层次聚合算法,它先将数据集中的每个样本看作是一个初始的聚类簇,然后在算法进行的每一步中找出距离最近的两个聚类来进行合并,该过程不断的重复,直到到达预设的聚类簇的个数。 改算法的关键是如何计算聚类之间的距离,...
阅读(1910) 评论(0)

基于密度的聚类算法C语言实现--DBSCAN

#include #include #include #include #include //#define INITIALASSIGN_COREOBJECT 100 //#define INCREASEMENT_COREOBJECT 100 #define INITIALASSIGN_DIRECTLYDENSITYREACHABLE 100 #define INCREASEMENT_D...
阅读(1628) 评论(0)

K-means算法(基于MovieLens数据分别对user和movie聚类)

本代码对高维的数据使用K-means算法进行聚类。使用的数据集是MovieLens。MovieLens中一共包含十万条记录,每一条记录分别由用户ID,电影ID,用户对电影的评分(1~5),以及日期组成。本代码使用评分作为用户或者是电影的特征向量分别对电影和用户进行聚类。聚类的结果通过代码写入文件中。在代码中通过选择运行第107或108行来决定针对用户还是电影进行聚类,其他的代码不变。 #incl...
阅读(1380) 评论(3)

生成螺旋线形状的随机点

#include #include #include #include #define PI 3.1415926535 void generate_spiral(); int size_of_point; //the total size of points int range; //the range of x and y of all points int initial_phas...
阅读(439) 评论(0)

对递归的理解

#include #include //假设只能打印一位数,即0~9 void printDigit(int n){ printf("%d", n); } //使用递归,利用上面的printDigit打印任一数 void printOut(int data){ if( data >= 10 ) printOut(data / 10); printDigit(data % 10); }...
阅读(250) 评论(0)

生成不重复的随机数的高效的算法

#include #include #include #define SIZE 10 void generateRandom(); int main(){ srand((unsigned)time(NULL)); generateRandom(); return 0; } /* * 产生 1~SIZE 之间的不重复的随机数 * */ void generateRandom(){ ...
阅读(418) 评论(0)
    个人资料
    • 访问:70326次
    • 积分:1435
    • 等级:
    • 排名:千里之外
    • 原创:75篇
    • 转载:0篇
    • 译文:0篇
    • 评论:47条
    最新评论