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

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

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

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

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


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

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

 

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

【数据结构】数组、链表、栈、队列、二叉树

数组 数组存储的数据在地址空间上是连续的。 方便数据的查找,查找数据的时间复杂度为O(1)。...

数据结构-绪论

这是我学习数据结构的绪论部分对于关键知识点的总结,大家可以一起看看,交流一下。...

什么是数据结构

 数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑...

数组、链表、哈希表

http://bbs.csdn.net/topics/390669143 上体育课的时候,老师说:你们站一队,每个人记住自己是第几个,我喊到几,那个人就举手,这就是数组。 老是说,你们每个人记住...

数组、链表、Hash

QQ数据结构J#        在程序中,存放指定的数据最常用的数据结构有两种:数组和链表。       数组和链表的区别:       1、数组是将元素在内存中连续存放。 ...

线性表、链表、哈希表

线性表、链表、哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构,这些类均在java.util包中。 Collection         ...
  • shenbau
  • shenbau
  • 2014年05月29日 19:35
  • 820

Trie实践:一种比哈希表更快的数据结构

本文乃Siliphen原创。转载请注明出处:http://blog.csdn.net/stevenkylelee 先考虑一下这个问题:如何统计5万个0-99范围的数字出现的次数? 可以用哈希表来进...

数组、链表、堆栈和队列

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

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

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

java多线程(6)--多线程的安全问题总结

1、多线程安全问题分析   多线程安全问题原因是在cpu执行多线程时,在执行的过程中可能随时切换到其他的线程上执行。      在以上红色选中的三个部分,线程都有可能进行切换。只要cpu在这个三个地中...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据结构与算法-“数组、链表、树、哈希表”选哪个
举报原因:
原因补充:

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