有的时候,处于内存中的数据并不是连续的。那么这时候,我们就需要在数据结构中添加一个属性,这个属性会记录下面一个数据的地址。有了这个地址之后,所有的数据就像一条链子一样串起来了,那么这个地址属性就起到了穿线连结的作用。
链表有:单链表,双链表,单循环链表,双循环链表。
理解单链表,其他几种也就大同小异。
相比较普通的线性结构,链表结构的优势是什么呢?我们可以总结一下:
(1)...
分类:
编程语言 时间:
2014-05-15 05:48:01
阅读次数:
266
之前自己的编程完全是在PC上进行的,而且主要是在算法和数据结构上。由于某些需要加之认识到Android的重要性,且大学走到现在基本上没什么课了,空闲时间很多,于是就开始学习Android。本系列博客都将围绕Android应用程序设计展开,由于本人是完全没有Android程序设计基础,所以内容都很基础,希望与大家交流学习并得到指点。
1.Activity类的onCreate()方法
...
分类:
移动开发 时间:
2014-05-15 04:47:13
阅读次数:
452
ADT 线性表(List)
Data
线性表的数据对象集合为{a1,a2,…,an},每个元素的类型均为DataType。
其中,除第一个元素a1外,每一个元素有且只有一个直接前驱元素,除了最后一个元素an外,每一个元素有且只有一个直接后继元素。
数据元素之间的关系是一对一的关系。
Operation
InitList(*L): 初始化操作,...
分类:
编程语言 时间:
2014-05-15 03:39:54
阅读次数:
357
散列表(Hash table,也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的数据结构。也就是说,它通过把键值通过一个函数的计算,映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。
一个通俗的例子是,为了查找电话簿中某人的号码,可以创建一个按照人名首字母顺序排列的表(即建立人名x到首字母F(x)的一个函数关系),在首...
分类:
编程语言 时间:
2014-05-15 02:27:50
阅读次数:
497
该文章对迪杰斯特拉与双向迪杰斯特拉的实现结果进行了简单的分析。...
分类:
其他好文 时间:
2014-05-14 21:46:00
阅读次数:
299
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3367
题意:在图论中,如果一个森林中有很多连通分量,并且每个连通分量中至多有一个环,那么这个森林就称为伪森林。
现在给出一个森林,求森林包含的最大的伪森林,其大小通过所有边的权值之和来比较。
分析:1、一开始想的是:在每个连通分量中求一个最大生成树,然后加一条最大的边,再把每个连通分量算出...
分类:
其他好文 时间:
2014-05-14 20:19:51
阅读次数:
230
很多复杂的报表项目,是借助报表工具(或插件)来实现的,下面以jasperReport举例。这些报表工具可以对传统的数据源(关系型数据库、collections、javaBeanArray)进行很好的支持。HBase的数据结构虽然与关系型数据库不一样,但HBase本身就是java开发的。有专门的javaAPI实现对HB..
分类:
其他好文 时间:
2014-05-14 18:23:58
阅读次数:
281
PKCS#12标准描述了个人标识信息的语法,一种交换数字证书的加密标准,包括用户公钥、私钥、证书等。Openssl提供了API供我们解析pfx/p12文件,提取我们需要的信息。首先我们需要了解几个数据结构,由于Openssl文档里面有些介绍的不是很详细,在这里列举一下:1、X509structtyped..
分类:
其他好文 时间:
2014-05-14 17:14:08
阅读次数:
830
我们分别从存储分配方式、时间性能、空间性能三方面来做对比。
存储分配方式:
顺序存储结构用一段连续的存储单元依次存储线性表的数据元素。
单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素。
时间性能:
查找
顺序存储结构O(1)
单链表O(n)
插入和删除
顺序存储结构需要平均移动表长一半的元素,时间为O(n)
单链表在计算出某位置的指针后,插入和删...
分类:
其他好文 时间:
2014-05-14 14:16:42
阅读次数:
335