数据结构与算法-“数组、链表、树、哈希表”选哪个

转载 2013年12月05日 23:53:11

数据结构与算法-“数组、链表、树、哈希表”选哪个(性能比较)?

通用数据结构貌似包括:数组、链表、树(二叉树、平衡树)、哈希表。之所以称之为通用数据结构是因为它们通过关键字的值来存储、查找数据。

现实中,要想存储人事记录、货存记录、合同表或销售业绩表等数据,则只需要一般用途的数据结构,即通用数据结构即可。至于具体使用哪一种数据结构,可以参考(哥,只是参考)下图:


请不要从上图中得出“平衡树”是最好的结论。咱还是要坚持“具体问题,具体分析”的结论的。

这些最快的结构也是有缺陷的(貌似一定要这样说,才显的严谨、有水平。所以以后出书的时候要记得啊)。首先,它们的程序在不同程度上比数组和链表的复杂;其次,哈希表要求预先知道要存储多少数据,数据对存储空间的利用率也不是非常高。普通的二叉树对顺序的数据来说,会变成缓慢的O(N)级操作(好背啊);而平衡树编起来显然较为困难(对于我这种高人呢)。

 

摘自:《java数据结构和算法》

相关文章推荐

数组、链表、堆栈、队列和树

数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合。听起来是不是很抽象,简单理解:数据结构就是描述对象间逻辑关系的学科。比如:队列就是一种先进先出的逻辑结构,栈是一种先进后出的逻辑结构,家谱...

数据结构的选择-“数组、链表、树、哈希表”选哪个(性能比较)?

通用数据结构貌似包括:数组、链表、树(二叉树、平衡树)、哈希表。之所以称之为通用数据结构是因为它们通过关键字的值来存储、查找数据。 现实中,要想存储人事记录、货存记录、合同表或销售业绩表等数据,则只...

数据结构与算法-“数组、链表、树、哈希表”选哪个(性能比较)?

http://hi.baidu.com/haifengjava/item/a672923e06c4b3be124b14e9 数据结构与算法-“数组、链表、树、哈希表”选哪个(性能...

JAVA 数组,链表,树的基本概念与优劣。

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

java实现 数据结构:链表、 栈、 队列、优先级队列、哈希表

最近在准备找工作的事情,就复习了一下java。翻了一下书和网上的教材,发现虽然很多书是用java讲数据结构的,但是侧重于将数据结构本身的知识,利用java本身的类库来实现数据结构的系统性的讲解少之又少...

数据结构算法之哈希表

哈希表也称作散列表,是介于链表和二叉树之间的一种结构体。因为这二者之间各有优缺点,链表的插入和删除操作可以在O(1)内实现,很方便,但是查询操作很麻烦,二叉树的数据排序严格有序,但是需要建立在大量的指...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)