• 数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Tire树
• 算法: 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
1.1数据结构研究
无法用数学公式或者方程来描述,是一些”非数值计算”的程序设计问题,描述非数值计算问题的数学模型不是数学方程,而是诸如表、树和图之类的具有逻辑关系的数据。
数据结构是一门研究非数值计算的程序设计中计算机的操作对象以及它们之间的关系和操作的学科
1.2基本概念和术语
1.2.1 数据、数据元素、数据项和数据对象
1.数据:是能输入计算机且能被计算机处理的各种符号的集合
• 是对客观事物符号化的表示;
• 能够被计算机识别、存储和加工;
包括:
• 数值型的数据:整数、实数等
• 非数值型的数据:文字、图像、图形、声音等。
2.数据元素:是数据的基本单位,也简称为元素、记录、节点或顶点。
3.数据项:数据项是构成数据元素的不可分割的==最小单位。==
数据、数据元素、数据项三者之间的关系:
数据>数据元素>数据项
eg:学生表>个人记录>学号、姓名…
4.数据对象:是性质相同的数据元素的集合,是数据的一个子集。
*补充:数据元素与数据对象的区别:*
• 数据元素——组成数据的基本单位。
与数据的关系:是集合的个体
• 数据对象——性质相同的数据元素的集合。
与数据的关系是:集合的子集
*数据、数据对象、数据元素、数据项四者之间的关系:*
数据>=数据对象>=数据元素>数据项
1.2.2数据结构(Data Structure)
数据结构
• 数据元素相互之间的关系称为结构
• 是指相互之间存在一种或多种特定关系的数据元素集合
• 数据结构是带结构的数据元素的集合
数据结构包括以下三个方面的内容:
• 数据元素之间的逻辑关系,也称为 逻辑结构;
• 数据元素及其关系在计算机内存中的表示(又称为映像),称为数据的物理结构或数据的存储结构;