您的位置:首页 > 理论基础 > 数据结构算法

常见Java数据结构&优缺点

2016-07-03 23:31 381 查看




[align=left]数组[/align]



[align=left] [/align]
[align=left]优点:查询快,如果知道索引可以快速地存取[/align]
[align=left] [/align]
[align=left]缺点:删除慢,大小固定[/align]
[align=left] [/align]
[align=left] [/align]
[align=left]有序数组[/align]
[align=left] [/align]
[align=left]优点:比无序数组查找快[/align]
[align=left] [/align]
[align=left]缺点:删除和插入慢,大小固定[/align]
[align=left] [/align]
[align=left]栈[/align]
[align=left] [/align]
[align=left]优点:提供后进先出的存取方式[/align]
[align=left] [/align]
[align=left]缺点:存取其他项很慢[/align]
[align=left] [/align]
[align=left]队列[/align]



[align=left] [/align]
[align=left]优点:提供先进先出的存取方式[/align]
[align=left] [/align]
[align=left]缺点:存取其他项都很慢[/align]
[align=left] [/align]
[align=left]链表[/align]



[align=left] [/align]
[align=left]优点:插入快,删除快[/align]
[align=left] [/align]
[align=left]缺点:查找慢(一个个节点查)[/align]
[align=left] [/align]
[align=left]二叉树[/align]



[align=left] [/align]
[align=left]优点:查找,插入,删除都快(平衡二叉树)[/align]
[align=left] [/align]
[align=left]缺点:删除算法复杂[/align]
[align=left] [/align]
[align=left]红-黑树[/align]



[align=left] [/align]
[align=left]优点:查找,插入,删除都快,树总是平衡的(局部调整)[/align]
[align=left] [/align]
[align=left]缺点:算法复杂[/align]

[align=left]2-3-4树[/align]
[align=left]优点:查找,插入,删除都快,树总是平衡的。类似的树对磁盘存储有用[/align]
[align=left] [/align]
[align=left]缺点:算法复杂[/align]
[align=left] [/align]
[align=left]哈希表[/align]



[align=left] [/align]
[align=left]优点:如果关键字已知则存取速度极快,插入快[/align]
[align=left] [/align]
[align=left]缺点:删除慢,如果不知道关键字则存取很慢,对存储空间使用不充分[/align]
[align=left] [/align]
[align=left]堆[/align]
[align=left] [/align]
[align=left]优点:插入,删除快,对最大数据的项存取很快[/align]
[align=left] [/align]
[align=left] 缺点:对其他数据项存取很慢[/align]
[align=left] [/align]
[align=left]图[/align]
[align=left] [/align]
[align=left]优点:对现实世界建模[/align]
[align=left] [/align]
[align=left]缺点:有些算法慢且复杂[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: