数据结构与算法(一)

算法

算法的基本概念

1.概念:算法是指一系列解决问题的清晰指令

2.两种基本要素:对数据对象的运算和操作,算法的控制结构(运算和操作实践的顺序)

3.4个基本特征:可行性,确定性,有穷性,拥有足够的情报。有穷性指的是算法必须在执行有限个步骤之后终止。

4.设计的6种基本方法:列举法,归纳法,递推法,递归法,减半递推技术,回溯法

算法的复杂度

不同的算法可能用不同的时间,空间或者效率来完成同样的任务。一个算法的优劣可以用空间复杂度和时间复杂度来衡量。

1.算法的空间复杂度:执行算法所需的内存空间

2.算法的时间复杂度:执行算法所需计算工作量

数据结构的基本概念

数据结构指相互有关联的数据元素的集合,即数据的组织形式。其中逻辑结构反映数据元素之间的逻辑关系;存储结构为数据的逻辑结构在计算机存储空间中的存放形式,有顺序存储,链式存储,索引存储和散列存储。

数据结构按各元素之间前驱和后继关系的复杂度分为两种

1.线性结构:有且只有一个根结点,且每个结点最多有一个直接前驱和一个直接后继的非空数据结构。线性结构的数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其他数据元素都是首尾相接的。

例子:顺序表(数组),链表,栈,队列

2.非线性结构:不满足线性结构的数据结构,其逻辑特征是一个结点元素可能有多个直接前驱和多个直接后继。非线性结构的数据元素之间存在着一对多或多对多的关系

例子:二维数组,多维数组,广义表,树(二叉树),集合,图形结构,网状结构

你可能感兴趣的:(数据结构与算法(一))