音乐喷泉数据使用数据库、数组、链表如何表示是业内关注的一个课题。目前,通过一些学者的分析及实验最终选用的是使用数据库来表示,这样可以使音乐喷泉系统在设计和使用过程简单、方便。下面我们了解一下链表和数组的基本知识、特点以及为什么选用数据库。
链表与数组
链表是在计算机内存中以指针保持互相连接的形式保存的线性表。使用链表结构可以克服数组需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理“但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。常用的链表有:单向链表、双向链表、循环链表”链表主要应用在有大规模删除和添加的应用上。不过,它也有相应的缺点:查询是顺序查找,比较耗费时间;存储密度较小,对空间的需求较大。
1)从逻辑结构来看:
.数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费。
.链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项)。
2)从内存存储来看:
.(静态)数组从栈中分配空间,对于程序员方便快速,但是自由度小。
.链表从堆中分配空间,自由度大但是申请管理比较麻烦。
音乐喷泉数据选用数据库
音乐要素数据的表示首先考虑编程方便、简单,数据格式直观,易于理解。用链表表示数据就用到过多的指针概念,指针虽说表示地址,实际上编程中容易引起混乱,它的主要优点是内存存贮不一定连续,在数据插入、删除上反映快,硬件资源消耗小,适于大信息量存贮和快速反映的地方。同时,链表和数组是内存数据结构,数据库是外存数据结构“数据库在操作上编程方便,没有过多的牵涉指针的概念,数据存放是连续的,记录的地址是数据库管理系统自动进行的,当然易于理解;主要缺点是记录删除、插入,后面的记录都要重新存贮,必然消耗资源,对系统有等待时间,视具体情况而定,不过目前硬件资源性能高,信息量一般没有大到理论上那么严重。
通过了解上面的基础知识以及选用数据库的原因,我们明白了音乐喷泉数据选用数据库是由充分理由的,这样做是为了满足音乐喷泉的信息要求。