Data Structures & Algorithms In Java(一):综述

Filed under: JAVA, 数据结构&算法 | Borrow: | No Comments »
Posted on

1、数据结构的概述

数据结构是对在计算机内在中的数据的一种安排。数据结构包括数组、链表、栈、二叉树、哈希表等等。

数据结构的特性

数据结构 优点 缺点
数组 插入快,如果知道下标,可以非常快地存取 查找慢,删除慢,大小固定
有序数组 比无序的数组查找快 删除和插入慢,大小固定
提供先进后出方式的存取 存取其他项很慢
队列 提供先进先出方式的存取 存取其他项很慢
链表 插入快,删除快 查找慢
二叉树 查找、插入、删除都快(如果树保持平衡) 删除算法复杂
红-黑树 查找、插入、删除都快。树总是平衡的 算法复杂
2-3-4树 查找、插入、删除都快。树总是平衡的。类似的树对磁盘存储有用 算法复杂
哈希表 如果关键字已知则存取极快。插入快 删除慢,如果不知道关键字则存取很慢,对存储空间使用不充分
插入、删除快,对最大数据项的存取很快 对其他数据项存取慢
对现实世界建模 有些算法慢且复杂

2、算法的概述 Read the rest of this entry »