深圳幻海软件技术有限公司 欢迎您!

数据结构与算法(总结)

2023-04-12

总结:一、数据结构(DataStructure)是数据的组织结构,用来组织、存储数据。算法(Algorithm)就是解决问题的方法或者过程。二、数据结构分为逻辑结构和物理结构。逻辑结构分为集合结构、线性结构、树形结构、图形结构;物理结构分为顺序存储结构、链式存储结构。三、算法是一系列运算步骤。算法有

总结
一、数据结构(Data Structure) 是数据的组织结构,用来组织、存储数据。算法(Algorithm) 就是解决问题的方法或者过程。
二、数据结构分为逻辑结构和物理结构。逻辑结构分为集合结构、线性结构、树形结构、图形结构;物理结构分为顺序存储结构、链式存储结构。
三、算法是一系列运算步骤。算法有5个基本特性,输入、输出、有穷性、确定性、可行性;算法最求5个目标,正确性、可读性、健壮性、运行时间少、内存空间小。
四、「数组」 是实现线性表的顺序结构存储的基础;「链表」 是实现线性表的链式存储结构的基础; 「栈」是一种后进先出的线性表;「队列」是一种先进先出的线性表;「哈希表」是根据关键码值直接进行访问的数据结构;「字符串」是由零个或多个字符组成的有限序列;「树」是由节点与节点之间的关系组成的有限集合;「图」是由顶点的非空有限集合与边的集合构成的结构。
五、「枚举算法」也称为穷举算法,是按照问题本身的性质一一列举出该问题所有可能的解;「递归」指的是一种通过重复将原问题分解为同类的子问题而解决的方法;「分治」就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并;「回溯」是一种选优搜索方法,按选优条件进行深度优先搜索,以达到目标;「贪心」是一种在每次决策时采用当前状态下最优或最好的策略,从而希望导致结果是最好或最优的算法;「位运算」是针对二进制的运算,对每一个位进行布尔运算操作;「动态规划」与分治法相似,都是通过组合子问题的解来求解原问题答案,将问题划分为互不相交的子问题,递归的求解子问题,最后合并子问题的答案。

1. 数据结构

数据结构分为逻辑结构和物理结构。逻辑结构分为集合结构、线性结构、树形结构、图形结构;




物理结构分为顺序存储结构、链式存储结构。

1.1 数组

「数组」 是实现线性表的顺序结构存储的基础。

1.2 链表

「链表」 是实现线性表的链式存储结构的基础。

1.3 栈

「栈」是一种后进先出的线性表。

1.4 队列

「队列」是一种先进先出的线性表。

1.5 哈希表

「哈希表」是根据关键码值直接进行访问的数据结构。

1.6 字符串

「字符串」是由零个或多个字符组成的有限序列。

1.7 树

「树」是由节点与节点之间的关系组成的有限集合。

1.8 图

「图」是由顶点的非空有限集合与边的集合构成的结构。

2. 算法

算法是一系列运算步骤。算法有5个基本特性,输入、输出、有穷性、确定性、可行性;算法最求5个目标,正确性、可读性、健壮性、运行时间少、内存空间小。

1.1 枚举算法

「枚举算法」也称为穷举算法,是按照问题本身的性质一一列举出该问题所有可能的解。

1.2 递归算法

「递归」指的是一种通过重复将原问题分解为同类的子问题而解决的方法。

1.3 分治算法

「分治」就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。

1.4 回溯算法

「回溯」是一种选优搜索方法,按选优条件进行深度优先搜索,以达到目标。

1.5 贪心算法

「贪心」是一种在每次决策时采用当前状态下最优或最好的策略,从而希望导致结果是最好或最优的算法。

1.6 位运算

「位运算」是针对二进制的运算,对每一个位进行布尔运算操作。

1.7 动态规划

「动态规划」与分治法相似,都是通过组合子问题的解来求解原问题答案,将问题划分为互不相交的子问题,递归的求解子问题,最后合并子问题的答案。

文章知识点与官方知识档案匹配,可进一步学习相关知识
算法技能树首页概览43870 人正在系统学习中