数据结构
对在计算机内存中(有时在磁盘中)的数据的一种安排,包括数组、链表、栈、二叉树、哈希表等等;
算法
对这些结构中的数据进行各种处理
各种数据结构特点
数据结构 |
优点 |
缺点 |
数组 |
插入快,如果知道下标则可以快速存取 |
查找和删除慢,大小固定 |
有序数组 |
比无序数组查找快 |
删除和插入慢,大小固定 |
栈 |
后进先出的存取方式 |
存取其他项很慢 |
队列 |
先进先出的存取方式 |
存取其他项很慢 |
链表 |
插入快,删除快 |
查找慢 |
二叉树 |
查找、插入、删除快(如果保持平衡的话) |
删除算法复杂 |
红-黑树 |
查找、插入、删除快,树总是平衡的 |
算法复杂 |
2-3-4树 |
查找、插入、删除都快,树总是平衡的,类似的树对磁盘存储有用 |
算法复杂 |
哈希表 |
关键字已知情况下,存取快,插入快 |
删除慢,如果不知道关键字则存取很慢,对存储空间使用不充分 |
堆 |
插入、删除快,对最大数据项的存取很快 |
对其他数据项存取慢 |
图 |
对现实世界建模 |
有些算法慢且复杂 |
算法的概述
1、对于数据结构而言,需要知道:
①如何插入一条新的数据项;
②如何查询某一特定的数据项;
③如何删除某一特定的数据项;
④如何迭代其中的各数据项;
2、如何排序
数据库
该书中的数据库特指在某一特定情况下所有要查阅的数据
记录
该书中的记录指的是数据库中划分成的单元,它们为存储信息提供了一个结构格式
字段
该书中的字段指的是记录被划分成的组成部分,一个字段保存某一种特定的数据
关键字
在数据库中查找一条记录,需要指定记录的某一个字段为关键字,通过这个特定的关键字来进行查找