数据结构与算法导图
- 数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。
- 数据结构是为算法服务的,算法是要作用再特定的数据结构上的。(比如一种算法只有适用于特定的数据结构,在不适用的数据结构上,直接是无法使用。)
- 简单来说,数据结构是存储数据的方式,而算法是获取数据的方式。通过获取图书的方法(算法),拿到指定位置的图书(数据结构)。
- 下面是思维导图:
同学们可以参照此思维导图系统的学习数据结构与算法,顺便能够方便地理清关系。
- 线性表:
- 线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。
- 第二个是连续的内存空间和相同类型的数据。正是因为这两个限制,它才有了一个堪称“杀手锏”的特性:“随机访问”。但有利就有弊,这两个限制也让数组的很多操作变得非常低效,比如要想在数组中删除、插入一个数据,为了保证连续性,就需要做大量的数据搬移工
作。
- 线性表如图所示:
而与它相对立的概念是非线性表,比如二叉树、堆、图等。之所以叫非线性,是因为,在非
线性表中,数据之间并不是简单的前后关系。
- 非线性表