数据结构
数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合用计算机存储、组织数据的方式。数据结构分别为逻辑结构、(存储)物理结构和数据的运算三个部分。
1.数据的逻辑结构:
反映数据元素之间的关系的数据元素集合的表示。数据的逻辑结构包括集合、线形结构、树形结构和图形结构四种。
线性结构和非线性结构
根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构和非线性结构。
线性结构:非空数据结构满足:有且只有一个根结点;每个结点最多有一个前件,最多只有一个后件。非线性结构:如果一个数据结构不是线性结构,称之为非线性结构。
常见的线性结构:线性表、栈、队列
2.数据的存储结构:
数据的逻辑结构在计算机存储空间种的存放形式称为数据的存储结构。常用的存储结构有顺序、链接、索引等存储结构。
数据结构的图形表示
在数据结构中,没有前件的结点称为根结点;没有后件的结点成为终端结点。插入和删除是对数据结构的两种基本运算。还有查找、分类、合并、分解、复制和修改等。
为什么要学数据结构?
首先,因为数据结构作为计算机专业的专业基础课程,是计算机考研的必考科目之一,如果打算报考计算机专业的研究生,你必须学好它;其次,数据结构是计算机软考、计算机等级考试等相关考试的必考内容之一,想要顺利通过这些考试,你也必须学好它;最后,数据结构还是你打算今后学习计算专业其他课程的基础,如操作系统、编辑原理、数据库管理系统、软件工程、人工智能等。总而言之,你既然已经与计算机接轨就必须掌握好它。
数据结构的主要任务
是通过分析数据对象的结构特征,包括逻辑结构及数据对象之间的关系,然后把逻辑结构表示成计算机课实现的物理结构,从而便于计算机处理。
算法的基本概念
算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合
计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。
1.算法的基本特征:可行性,确定性,有穷性,拥有足够的情报。
2.算法的基本要素:算法中对数据的运算和操作、算法的控制结构。
3.算法设计的基本方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。
4.算法设计的要求:正确性、可读性、健壮性、效率与低存储量需求
算法的复杂度
1.算法的时间复杂度:指执行算法所需要的计算工作量
2.算法的空间复杂度:执行这个算法所需要的内存空间