Catalog
  1. 1. 数据结构和算法概述
数据结构和算法概述

数据结构和算法概述

  1. 什么是数据结构?

存储和运算是程序的两大基础功能,数据结构是专门研究数据存储的学科。

很多时候,我们无法仅使用简单的数字、字符串、布尔就能完整的描述数据,可能我们希望使用数组、对象、或它们组合而成的复合结构来对数据进行描述。这种复合的结构就是数据结构。

而在实际开发中,我们会发现很多场景中使用的数据结构有着相似的特征,于是,数据结构这门学科,就把这些相似的结构单独提取出来进行研究。

在这门学科中,常见的数据结构有:数组、链表、树、图

  1. 什么是算法?

存储和运算是程序的两大基础功能,算法是专门研究运算过程的学科。

一个程序,很多时候都需要根据一种已知数据,通过计算,得到另一个未知数据,这个运算过程使用的方法,就是算法。

而在很多的场景中,它们使用的算法有一些共通的特点,于是把这些共通的算法抽象出来,就行了常见算法。

从一个更高的角度来对算法划分,常见的算法有:穷举法、分治法、贪心算法、动态规划

  1. 数据结构和算法有什么关系?

一个面向的是存储,一个面向的是运算,它们共同构成了计算机程序的两个重要部分。

有了相应的数据结构,免不了对这种数据结构的各种变化进行运算,所以,很多时候,某种数据结构都会自然而然的搭配不少算法。

  1. 数据结构和算法课程使用什么计算机语言?

数据结构和算法属于计算机基础课程,它们和具体的语言无关,用任何语言都可以实现。