导图社区 数据结构第一章
数据结构第一章绪论,知识点有数据结构的基本概念、算法的含义与分析、线性表、链式存储结构等,值得收藏了解哦!
社区模板帮助中心,点此进入>>
英语词性
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
民法分论
日语高考動詞の活用
第14章DNA的生物合成读书笔记
数据结构
第01章 绪论
1.1 数据结构的基本概念
1.1.2 为什么要学习数据结构
1.软件设计是计算机学科各个领域的核心。软件设计时要考虑的首要问题是数据的表示、组织和处理方法。数据结构设计和算法设计是软件系统设计的核心。
2.“数据结构+算法=程序设计”
1.1.2概念:指数据元素之间存在的关系。
数据结构包含三方面:1.数据的逻辑结构 2.数据的存储结构 3.数据操作
1.数据的逻辑结构:
线性结构:数据元素只有一个前驱数据元素和一个后继数据元素。
树结构:每个数据元素只有一个前驱数据元素,可有零个或若干个后继数据元素。
图结构:每个数据元素可有零个或若干个前驱数据元素,零个或若干个后继数据元素。
2.数据的存储结构:
顺序存储结构
链式存储结构
3.数据操作:
初始化。
判断是否空状态。
存取,指获得、设置指定元素值。
统计数据元素个数。
遍历(traverse),指按照某种次序访问一个数据结构中的所有元素,并且每个数据元素只被访问一次。遍历一种数据结构,将得到一个所有数据元素的线性序列。 插入(insert)、删除(remove)指定元素。
查找(search),指在数据结构中寻找满足给定条件的数据元素。
排序(sort),指对数据元素按照指定关键字值的大小递增(或递减)次序重新排列。
1.数据类型(data type):是指一个类型和定义在这个类型上的操作集合。
2.抽象数据类型(Abstract Data Type,ADT):是指一个逻辑概念上的类型和这个类型上的操作集合。
一种数据结构的抽象数据类型包括:
数据的逻辑结构
数据的操作
3.实现不同特性的集合
线性表:表示可重复的无序集合,元素间具有前驱、后继次序关系;不同元素的关键字可重复,采用序号能够识别关键字重复的数据元素。
排序线性表:表示可重复的排序集合,元素按关键字大小次序排序。
散列表:表示不可重复的无序集合,元素关键字不重复,元素间没有次序,不排序。
二叉排序树:表示不可重复的排序集合,元素关键字不重复,元素按关键字升/降序排序。
1.2 算法
1.2.1 什么是算法
1.概念:一个算法(Algorithm)是一个有穷规则的集合,其规则确定一个解决某一特定类型问题的操作序列。
算法的特征:
有穷性
输入
输出
可行性
算法设计目标:
正确性
可读性
健壮性
高时间效率
高空间效率
1.2.2 算法分析
度量算法的时间效率
算法的时间效率指算法的执行时间随问题规模的增长而增长的趋势,通常采用时间复杂度来度量算法的时间效率。T(n)=O(f(n))
度量算法的空间效率
空间复杂度指算法在执行时为解决问题所需要的额外内存空间,不包括输入数据所占用的存储空间。 S(n)=O(f(n))
时间复杂度随n变化情况的比较
全章例子 :
线性表,树,图:
链式存储结构,顺序存储结构:
算法与数据结构: