记录一些二叉树的基础算法二叉树节点结构:typedef struct TreeNode{ int val; struct TreeNode *left; struct TreeNode *right; }TreeNode,*Node;1.遍历前、中、后序递归遍历...
分类:
其他好文 时间:
2014-09-09 20:00:09
阅读次数:
129
一、图的可行遍历 1)欧拉图 条件:1、图连通;2、奇度点数为0或2; 算法(一次dfs) 时间复杂度O(E),空间复杂度O(E) 1 //前向星,vis[]标记走过的边,cnt初始为1,i的反向边为i^1 2 void addedge (int u, int v) { 3 ...
分类:
其他好文 时间:
2014-09-09 18:16:09
阅读次数:
392
//链表基本操作tatus ListOppose(LinkList &L)
{
linklist p,q;
p=L;
p=p->next;
L->next=NULL;
while(p){
q=p;
p=p->next;
q->next=L->next;
L->next=q;
}...
分类:
其他好文 时间:
2014-09-09 13:15:48
阅读次数:
372
先看一眼JVM虚拟机运行时的内存模型:
1.方法区 Perm(永久代、非堆)
2.虚拟机栈
3.本地方法栈 (Native方法)
4.堆
5.程序计数器
1 首先的问题是:jvm如何知道那些对象需要回收 ?
目前两种标识算法、三种回收算法、两种清除算法、三种收集器
引用计数法
每个对象上都有一个引用计数,对象每被引用一次,引...
分类:
其他好文 时间:
2014-09-07 21:13:05
阅读次数:
363
基本思想 设归并排序的当前区间是R[low..high],分治法的三个步骤是: ①分解:将当前区间一分为二,即求分裂点 ②求解:递归地对两个子区间R[low..mid]和R[mid+1..high]进行归并排序; ③组合:将已排序的两个子区间R[low..mid]和R[mid+1..high]归并为一个有序的区间R[low..high]。...
分类:
其他好文 时间:
2014-09-07 19:50:35
阅读次数:
244
希尔排序(Shell Sort)是插入排序的一种,其实质就是分组插入排序,该方法又称缩小增量排序,因D.L.Shell于1959年提出而得名。它是对直接插入排序的一种改进,通过加大插入排序中元素之间的间隔,并在这些有间隔的元素中进行插入排序,从而使得数据项大跨度的移动。 基本思想 先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后...
分类:
其他好文 时间:
2014-09-07 17:21:38
阅读次数:
172
1. 快排 详见之前博文快速排序算法。 2. 堆排序 详见之前博文非递归方法的堆排序实现。 3. 简单排序(冒泡排序、选择排序和插入排序) 代码如下: #include #include #include #define N 20static void show(int *arr, int len)...
分类:
其他好文 时间:
2014-09-05 14:08:51
阅读次数:
198
机器学习是AI领域的重要一门学科。前面我描述过,我计划从事的...
分类:
其他好文 时间:
2014-09-05 08:47:01
阅读次数:
208