数据结构的概念
数据结构就是研究数据如何在计算机中进行组织和存储,使得我们可以高效的获取数据和修改数据.
数据结构就可以分为三部分
- 线性结构:数组,队列,栈,链表,哈希表...
- 树型结构:二叉树,二分搜索数,AVL树,红黑树,堆,Trie,线段树,并查集
- 图结构:邻接矩阵,邻接表 (树型结构和图结构统称为非线性结构)
算法的概念
算法是模型分析的一组可行的,确定的,有穷的规则.通俗的说,算法也可以理解为一个解题步骤,有一些基本运算和规定的顺序构成. 算法就是用系统的方法来描述解决问题的一种策略机制.
算法的特点
- 有穷性:指的是算法必须能够在执行有限个步骤后终止
- 确切性:指的是算法的每一个步骤都必须有确切的定义
- 输入项:一个算法有0个或多个输入项,0个是指算法本身就有初始条件
- 输出项:一个算法有一个或者多个输出,以反映对输入数据加工后的结果.如果算法没有输出,那么该算法毫无意义
- 可行性:算法中执行的任何计算步骤都是可以被分解为基本的可执行的步骤,即每个计算步都可以在有限时间内完成.(也可以称之为有效性)