- 博客(6)
- 收藏
- 关注
原创 哈夫曼树实现
#include #include #define inf 1<<30using namespace std;//哈夫曼树实现//哈夫曼树的特征:如果有n个叶子节点的话,则总结点数为2*n-1。越频繁访问的编码越短struct node{ int parent, lson, rson; int val; //访问次数};void createTree(node p
2015-08-15 19:39:38 868
原创 A星算法,找寻最短路径
#include #include #include #include #include #define N 1000#define inf 1<<30;using namespace std;/* a星算法,找寻最短路径 算法核心:有两个表open表和close表 将方块添加到open列表中,该列表有最小的和值。且将这个方块称为S吧。 将S从open列表移除,然后添加
2015-08-14 17:56:47 4136 1
原创 从源码来理解ArrayList和LinkedList区别
从源码理解ArrayList和LinkedList区别ArrayListArrayList默认容量为10,实质是一个数组用于存放元素,size表示ArrayList所包含的元素个数。ArrayList的3个构造函数,第一个构造函数指定容量,第二个构造函数默认为一个空数组,第三个构造函数是从集合c转变为Arraylist的数组a
2015-08-11 23:56:27 1022
原创 基数排序(LSD)
示例代码:#include #include using namespace std;//基数排序(LSD)从最低位到最高位进行如此的分配收集void print(int a[], int n){ for(int t=0; t<n; ++t) { if(t+1<n) { printf("%d ", a[t]); } else { printf("%d\n"
2015-08-09 23:03:43 1030
原创 从源码来理解HashMap和HashSet
HashMap类HashMap 内有一个table数组存放,用关键字transient,则说明HashMap的table数组值是存放在内存中,不作为序列化数据保存。put函数如果key==null,注意:table是一个数组,而这个数组下每个元素的下面其实是个链表,都是通过hash(key)得到相同k位置(table[k])空值统一放在table
2015-08-09 09:17:04 611
原创 Java设计模式—观察者模式
观察者模式 Observer 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让它们能够自动更新自己。 观察者模式的组成 抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类和接口来实现
2015-08-04 09:21:37 487
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人