首页 > 代码库 > 算法整理篇之:数据结构 | 数组(1)

算法整理篇之:数据结构 | 数组(1)

 

数组,是最基础的数据结构,因为其所代表的是一段连续序列(如果按照C++中的定义),或者从广义上来讲的一个集合。

 

结构特点:

1)索引(Index),又叫下标;

      一般地,我们可以借鉴下标的思想,对数据进行标号,从而组织成为序列,最大的好处就是能够保证元素的唯一性,如同数据库的Primary Key。

      这与”寻址“,”父亲表示法“,”指针“的思想是同出一辙的。

2)值(Value),又叫元素。

      直接结果,当然,这个直接结果也可能就是一个索引,在算法中,常见形如:”a[[i+j]]“。

 

思想变种:

当索引Index变为Key时,那么就成了哈希表;

当索引Index编程了Name时,就成了名值对;

不管怎么变,你都发现,最后都可以抽象为集合,都应该支持一些公共的API(Find,Insert,Modify,Delete),甚至突然间发现,数据库的二维表也就这么回事,那么,是否对数据存储有点兴趣了?。。。Stop,Stop,Stop,回来吧,偏题了!

 

总结:

1)数组能够组织和描述逻辑上的一群数据,即集合;

2)能够用做编号、寻址;

3)能够表示栈,队列,二叉树,图;

4)控制好数组的下标,就控制好了数组。

算法整理篇之:数据结构 | 数组(1)