算法
Nireus_LOVE
这个作者很懒,什么都没留下…
展开
-
数据结构---树
1. 二叉树可以采用顺序存储数组和链式存储二叉链表两种方法来存储二叉树。经常使用的二叉链表方法,因为其非常灵活,方便二叉树的操作。二叉树的二叉链表存储结构如下所示:typedef struct binary_tree_node{ int elem; struct binary_tree_node *left; struct binary_tree_node *right;原创 2016-05-24 12:18:18 · 269 阅读 · 1 评论 -
数据结构 --- 栈和队列
1. 用两个栈来实现队列思路:栈是先进后出,而队列是先进先出。可以这样设计,一个栈用于入队列操作,设为Stack1,另一个栈用于出队列操作,设为Stack2。入队列可以在常数时间内完成,即Stack1的入栈操作。而出队列时,若Stack2的元素不为空,Stack2执行出栈操作,相当于出队列。若为空,则将Stack1的元素一个个出栈,压入Stack2中,然后Stack2再执行一次出栈操作。 1. t原创 2016-05-24 13:54:33 · 568 阅读 · 0 评论 -
数据结构 --- 堆
1. 定义及操作堆给人的感觉是一个二叉树,但是其本质是一种数组对象,因为对堆进行操作的时候将堆视为一颗完全二叉树,树种每个节点与数组中的存放该节点值的那个元素对应。所以堆又称为二叉堆,堆与完全二叉树的对应关系如下图所示: n个关键字序列Kl,K2,…,Kn称为(Heap),当且仅当该序列满足如下性质(简称为堆性质): (1)ki<=k(2i)且ki<=k(2i+1)(1≤i≤ n),当然,这原创 2016-05-24 14:05:30 · 219 阅读 · 0 评论 -
数据结构---字符串
1. 翻转句子中单词的顺序,但单词内字符的顺序不变思路:先逆转整个句子,然后从首字符开始扫描,每扫描到一个单词(遇到空白或结束字符),对这个单词进行逆转。1. void Reverse(char *pBegin, char *pEnd) 2. { 3. if(pBegin == pEnd) 4. return; 5. while(pBegin原创 2016-05-23 17:58:31 · 1324 阅读 · 0 评论 -
算法 --- 一致性哈希算法
简介一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。 但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人都知道,mem原创 2016-07-12 14:44:22 · 1033 阅读 · 0 评论