数据结构的特性
准备花一段时间search一下数据结构的知识,先做一下准备工作,将每种数据结构的优缺点列出如下:
| 数据结构 | 优点 | 缺点 |
| 数组 | 插入块,如果知道元素的下标,获取元素的值也很快 | 查找慢,删除慢,大小固定。如果要更改大小,需要重新获取空间。 |
| 有序数组 | 比无须数组查找快 | 删除和插入慢,大小固定 |
| 栈 | 提供后进先出的存储方式 | 获取非顶层的数据元素慢 |
| 队列 | 提供后进后出的存储方式 | 获取非队列头部的数据元素慢 |
| 链表 | 插入和删除数据快,可以随意的更改大小 | 查找数据慢 |
| 二叉数 | 查询、删除、插入速度都较快(如果树保持平衡) | 删除算法复杂 |
| 红-黑树 | 查询、删除、插入数据都快,树总是平衡的 | 算法复杂 |
| 2-3-4树 | 查询、删除、插入数据都快,树总是平衡的 | 算法复杂 |
| 哈希表 | 如果关键字已知,那么存取极快。插入快。 | 删除慢,如果关键字未知,那么存取慢。空间利用不充分。 |
| 堆 | 插入删除极快,对最大数据项的存取也极快。 | 对其他非最大数据项的数据存取慢。 |
| 图 | 能够对现实世界建模 | 有些算法复杂而且速度慢 |
java中的基本数据类型的取值范围如下:
| 名称 | 大小(以位计算) | 取值范围 |
| boolean | 1 | true or false |
| byte | 8 | -128~+127 |
| char | 16 | \u0000~\uffff, 即0~65535 |
| short | 16 | -32768~+32767 |
| int | 32 | -2147483648~+2147483647 |
| long | 64 | -9223372036854775808~+9223372036854775807 |
| float | 32 | 约10-38~10+38,有效数字7位 |
| double | 64 | 约10-308~10+308,有效数字15位 |

浙公网安备 33010602011771号