- 博客(7)
- 资源 (1)
- 收藏
- 关注
转载 无向带权图的最小生成树算法——Prim及Kruskal算法思路
边赋以权值的图称为网或带权图,带权图的生成树也是带权的,生成树T各边的权值总和称为该树的权。 最小生成树(MST):权值最小的生成树。 生成树和最小生成树的应用:要连通n个城市需要n-1条边线路。可以把边上的权值解释为线路的造价。则最小生成树表示使其造价最小的生成树。 构造网的最小生成树必须解决下面两个问题: 1、尽可能选取权值小的边,但不能构成回
2017-08-21 15:58:18 8229
原创 数据结构之堆
数据结构中的堆是一种特殊的二叉树(不要和Java、c++中的“堆”混淆,后者指的是程序猿用new能得到的计算机内存的可用部分)。 堆是具有如下特点的二叉树:a)它是完全二叉树。也就是说除了树的最后一层节点不需要是满的,其他的每一层从左到右都完全是满的。b)它常常用一个数组实现。树的实现可以使用数组而不是由引用连接起来的各个节点来存储二叉树。c)堆中的每个节点都满
2017-08-13 19:58:55 322
转载 Android应用内存泄露分析、改善经验总结
前言 通过这几天对好几个应用的内存泄露检测和改善,效果明显:完全退出应用时,手动触发GC,从原来占有内存100多M降到低于20M;手动触发GC后,通过adb shell dumpsys meminfo packagename -d查看Activity和View的数量也趋近于0了(没有做到归零是因为SDK中存在内存泄露,需要中间层去处理);发现了一个SDK中的内存泄
2017-08-08 14:42:05 392
原创 数据结构之哈希表
哈希表是一种数据结构,可以提供快速的插入和查找操作。哈希表的速度明显比树快,树的操作通常需要O(N)的时间级,而哈希表只需要接近常量的时间:即O(1).哈希表不仅速度快,编程实现也相对容易。哈希表也有缺点:它是基于数组的,数组创建之后,难于扩展。某些哈希表被基本填满时,性能下降的非常严重,所以必须要清楚表中将要存储多少数据(或者准备好定期地把数据转移到更大的哈希表中,这是个费时的过程)。而且,也没
2017-08-07 16:52:25 668
原创 数据结构之哈夫曼树、红黑树
二叉树作为数据存储的工具具有重要的优势:可以快速地找到一个给定关键字的数据项,并且可以快速地插入和删除数据项。其他的数据存储结构,例如数组、有序数组以及链表,执行这些操作却很慢。因此,二叉树似乎是理想的数据存储结构。遗憾的是,二叉搜索树有一个很麻烦的问题。如果树中插入的是随机数据,则执行效果很好。但是,如果插入的是有序的数据(17、21、28、36.....)或者逆序的数据(36,28,21,
2017-08-05 18:51:18 1579 1
转载 红黑树(一)之 原理和算法详细介绍
转自:http://www.cnblogs.com/skywang12345/p/3245399.html概要目录1 红黑树的介绍2 红黑树的应用3 红黑树的时间复杂度和相关证明4 红黑树的基本操作(一) 左旋和右旋5 红黑树的基本操作(二) 添加6 红黑树的基本操作(三) 删除 概述:R-B
2017-08-03 17:16:05 395
原创 数据结构之二叉搜索树
树是一种很有意思的数据结构,它既能像链表那样快速的插入和删除,又能像有序数组那样快速的查找,一般我们探究的树是一种特殊的树 -- 二叉树。如果树中每个节点最多只能有两个子节点,这样的树就成为“二叉树”,否则,就是多路树了。二叉搜索树是一种更特殊的树 -- 父节点的左子节点的关键字值小于父节点,右子节点的关键字的值大于或等于这个父节点。 一般树的节点包括三个部分:data、leftN
2017-08-02 15:52:19 483
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人