数据结构和算法

程序设计 = 数据结构 + 算法

这是一个著名的公式,说明这两个方面是非常重要的。在Java中,集合实现了多种数据结构,开发者使用就可以了。但是,了解数据结构,有助于理解源码,进而可以为不同的程序选择合适的数据结构。

一、数据结构

 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

主要有两种结构:一是逻辑结构;二是物理结构。

 

1、数组

   线性表的顺序存储结构的实现方式。

2、链表

  链式存储结构有以下几种:单链表、静态链表、循环链表、双向链表。

3、栈

   限定仅在表尾进行插入和删除的线性表。想象枪的子弹壳。

4、队列

   只允许在一端进行插入操作,而在另一端进行删除的线性表。

5、串

  比如Java中String类。KMP算法

二、算法

 算法是解决特定问题求解步骤的描述,在计算机中为指令的有限序列,并且每条指令表示一个或多个操作。

 算法运行的两个标准:时间复杂度和空间复杂度。

1、查找

2、排序 

学习书籍:

1、大话数据结构

2.《数据结构与算法分析--Java语言描述》

3.《数据结构和抽象问题求解--Java语言描述》

4.《算法导论》

posted @ 2019-04-17 17:20  阿罗luo  阅读(136)  评论(0编辑  收藏  举报