
算法
文章平均质量分 69
ruccsbingo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Fibonacci 非递归实现
Fibonacci公式总结如下: / 1 n=1f(n)= 2 n=2 \ f(n-1) + f(n-2) n>2#include #include #include #define MAXLENGTH 100void print(int *arr){ int i; for(i=1; i<=MAXLENGTH; ++i) { printf("%d ", arr[i]); } printf("\n"原创 2014-03-10 15:07:10 · 581 阅读 · 0 评论 -
一致性hash
转载:http://blog.huanghao.me/?p=14一致性hash算法简介Posted on June 10, 2011 by huanghao一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使转载 2014-03-11 14:53:45 · 387 阅读 · 0 评论 -
数据结构的扩张(动态有序统计和区间树)笔记
对一个数据结构的扩张可以分为四个步骤:1. 选择基础的数据结构2. 确定要在基础数据结构中添加那些信息3. 严重可用基础数据结构的基本修改操作来维护这些新添加的信息的复杂度4. 设计新的操作 动态顺序统计OS-SELECT(x, i) r=size[left[x]+1] if i==r return x else if i原创 2013-10-29 20:48:29 · 653 阅读 · 0 评论 -
红黑树(red_black_tree)的c语言实现
// red_black_tree.cpp : 定义控制台应用程序的入口点。///*** red_black_tree.cpp** 基本的数据结构是使用双向链表(需要经常访问PARENT,GRANDPARENT and UNCLE)实现的二叉树*******/#include "stdafx.h"#include #include #include原创 2013-10-26 16:54:06 · 775 阅读 · 0 评论 -
in_order_walk 中序遍历的非递归实现源码
#include "stdafx.h"/*** 数据结构:链表实现的二叉树,在内存中分配的连续区域模拟数组实现的栈,栈中存放的是树结点的指针(地址)*******/#include #include #include #include typedef int key_t;typedef struct bt_node{ key_t key; struct bt_n原创 2013-10-27 19:14:21 · 627 阅读 · 0 评论 -
trie树的一个简单例子源码
一下源码是google code jam 上一个简单的题目题目:http://code.google.com/codejam/contest/2924486/dashboard#s=p4 #include #include #include #define MAXNAMELENGTH 110#define MAXCHILD 110typedef str原创 2013-10-26 17:00:49 · 531 阅读 · 0 评论 -
insert_sort 的简单实现
#include int insert_sort(int *a, int length){ int i=0, j, k, temp; int sorted_num=1; for(i=1; i { for(j=0; j { if(a[i]原创 2013-10-26 17:02:36 · 585 阅读 · 0 评论 -
二部图实现的简单例子源码
问题 google code jam 上的一个简单的问题http://code.google.com/codejam/contest/635101/dashboard#s=p0 #include #include #include #define MAXNAMELENGTH 100#define MAXEDGES 100typedef struct inner原创 2013-10-26 17:06:34 · 884 阅读 · 0 评论 -
qsort的简单实现源码
#include #include int partition(int *a, int p, int q);int q_sort(int *a, int p, int q);int partition(int *a, int p, int q){ int primary = a[p]; int i, j; int temp;原创 2013-10-26 17:09:33 · 930 阅读 · 0 评论 -
寻找最先出现且出现一次的元素
这道题是2006 年google 的一道笔试题。它在今年又出现了,不过换了一种形式。即最近的搜狐笔试大题:数组非常长,如何找到第一个只出现一次的数字,说明算法复杂度。 这道题采用STL 中的unorder_map实现。其中时间复杂度2*n,相当于过了两边数据,第一遍用于建立hashtable,第二遍查找第一次出现且hashtable中的value == 1的元素。原创 2014-03-10 17:22:20 · 559 阅读 · 0 评论