算法思路:
1、后序最后元素为根,根将中序分为左右子树
2、层序遍历利用队列实现,java使用LinkedList
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
class Node{
int key;
Node left;
Node right;
public Node...
分类:
其他好文 时间:
2015-03-09 11:04:05
阅读次数:
120
题目地址:http://hihocoder.com/problemset/problem/1044
算法思路:此题可以看做是铺地砖的变形,没有明显的行数和状态,但是我们可以自己将其中的行和状态给扣出来。其中第一行就是N个数的中前(0,1,2…M-1), 第二行就是(2,3..M)…一直到最后一行为(N-M…N)。每一行的状态个数即为2^M-1(即这M个位置要么填写1,要么填写0)。此时可用...
分类:
编程语言 时间:
2015-03-08 21:36:21
阅读次数:
187
链表(所有元素不考虑相邻位置,哪有空位就到哪里):使用结点存储数据元素,结点的地址可以连续也可以不连续链表分为单链表/双链表/循环链表。单链表中一个节点的组成:数据域+指针域,指针于中存放的是是一个指针,指向下一个节点的地址。1.获得链表第i个数据的算法思路:1)声明一个结点p指向链表第一个结点,初...
分类:
其他好文 时间:
2015-03-01 15:38:47
阅读次数:
144
tarjan算法是处理最近公共祖先问题的一种离线算法。算法思路:先将所有的询问搜集起来。然后对树进行dfs,在dfs的过程中对节点进行着色。当到达某个节点x的时候,给x着色为灰色,离开x的时候,着色为黑色。当到达x并将其着色为灰色后,处理与x相关联的所有询问:(这里有一个显然的事实:所有的灰色节点都...
分类:
编程语言 时间:
2015-02-21 14:19:52
阅读次数:
222
问题描述:有一棵树,树上节点编号1~n,其中节点1为根节点,树上的每个节点有其对应的一个价值。现在要减掉一些枝桠,只留下m个节点的一棵树(必须包含根节点),为这m个节点着色,约束条件是要使剩下m个节点的价值之和最大化。算法思路:状态定义:dp[x][j]表示以节点x为根的子树中,着色节点数目为j时,...
分类:
其他好文 时间:
2015-02-20 16:19:23
阅读次数:
151
问题分析:树中的路径,即是从树上的某个节点起,经过某个转折节点,到达另一个节点这样一条路径。而最长路径就是要找出这些路径中最长的那一条。算法思路:对于每个节点,记录下以该节点为根节点的子树中从该节点开始到所有叶子节点的路径中最长的那一条路径长度d1以及次长的那一条路径长度d2(最长和次长两条路径无公...
分类:
其他好文 时间:
2015-02-20 14:06:27
阅读次数:
161
1.1. 算法思想
直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的纪录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的纪录插入完为止,得到一个新的有序序列
插入排序的算法思路:
(1)设置监视哨r[0],将待插入纪录的值赋值给r[0];
(2)设置开始查找的位置j;
(3)在数组中进行搜索,搜索中将第j个纪录后移,直至r[0].key≥r[j].key为...
分类:
编程语言 时间:
2015-02-13 21:12:32
阅读次数:
266
memcache的一致性hash算法使用
http://blog.csdn.net/kongqz/article/details/6695417
一、概述
1、我们的memcache客户端(这里我看的spymemcache的源码),使用了一致性hash算法ketama进行数据存储节点的选择。与常规的hash算法思路不同,只是对我们要存储数据的key进行hash计算,分配到...
分类:
编程语言 时间:
2015-02-10 00:41:28
阅读次数:
208
一、概述 1、我们的memcache客户端(这里我看的spymemcache的源码),使用了一致性hash算法ketama进行数据存储节点的选择。与常规的hash算法思路不同,只是对我们要存储数据的key进行hash计算,分配到不同节点存储。一致性hash算法是对我们要存储数据的服务器进行hash计...
分类:
编程语言 时间:
2015-02-07 22:53:01
阅读次数:
276
史上最简明易懂非递归遍历二叉树算法巧若拙(欢迎转载,但请注明出处:http://blog.csdn.net/qiaoruozhuo)遍历二叉树的递归函数是体现了算法之美的高妙算法,思路清晰,代码简洁,读之赏心悦目。代码例如以下:程序代码:voidPreOrderTraverse_R(BiTree B...
分类:
编程语言 时间:
2015-02-07 21:31:25
阅读次数:
309