![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 84
IE猫
这个作者很懒,什么都没留下…
展开
-
数据结构与算法(陈越版)第二讲 线性结构—线性表及其表现
数据结构与算法(陈越版)第二讲 线性结构—线性表及其表现一、线性表的定义二、线性表的抽象数据类型描述三、线性表的实现3.1、线性表的顺序存储实现3.2、线性表的链式储存方式一、线性表的定义线性表(Linear List):由同一类型的数据元素构成的有序序列的线性结构。线性表中元素的个数称为线性表的长度表起始位置称为:表头,表结束位置称为:表尾。二、线性表的抽象数据类型描述类型名称:线性表(List)数据对象集: 线性表是n(≥n)n ( \geq n)n(≥n)个元素构成的有序序列(a1,a原创 2021-07-13 22:55:49 · 209 阅读 · 1 评论 -
数据结构与算法(陈越版)第一讲 基本概念
数据结构与算法(陈越版)第一讲 基本概念一、数据结构1.1、定义1.2、解决问题方法效率1.3、最终定义1.4、抽象数据类型2、算法2.1、定义2.2、衡量算优劣指标二、应用实例(示例算法优劣程度)最大子列和一、数据结构讨论数据结构必定离不开算法。1.1、定义数据结构:数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。 ——Sartaj Sahni 《数据结构、算法与应用》数据结构:ADT(Abstract Data Type,数据抽象类型原创 2021-07-13 10:45:24 · 405 阅读 · 0 评论 -
数据结构与算法(陈越版)第五讲 (树下)树的应用——哈夫曼树与哈夫曼编码
数据结构与算法(陈越版)第五讲 (树下)树的应用——哈夫曼树与哈夫曼编码一、问题的提出二、哈夫曼树的定义三、哈夫曼树的构造四、哈夫曼树的特点五、最小堆实现哈夫曼树六、哈夫曼编码一、问题的提出在区分成绩的程序中,需要多次判断输入的学生成绩的分数。如下图:假如考虑学生成绩的分布情况,包括真实情况都是:分数特别高和特别低的都是少数,它们本应少判断几次,但是最后score < 90会多判断几次。根据节点不同的查找频率构造更有效的搜索树通过先判断数量级较大的(这样可以少比较几次),可以降低查找效原创 2021-07-06 17:28:07 · 563 阅读 · 1 评论 -
数据结构与算法(陈越版)第五讲 (树下)树的应用——集合及其运算
数据结构与算法(陈越版)第五讲 (树下)树的应用——集合及其运算一、集合的表示1.1、集合的表示1.2、集合的储存二、集合的运算2.1查找以及普通并2.2按照秩的合并算法2.3路径压缩优化三级目录一、集合的表示集合是一种常见的数据表示方式。集合的运算包括交,并,补,差以及判定一个数据是否是某个集合的元素。为了解决上述问题就需要用到集合,准确的说是集合的运算,因此就需要合理的进行集合的表示,既然要对集合表示那就需要考虑集合存储实现。1.1、集合的表示为了有效地对集合执行各种操作,可以用树结构表示集原创 2021-07-01 21:09:45 · 401 阅读 · 0 评论 -
数据结构与算法(陈越版)第五讲 (树下)树的应用——堆
这里写目录标题堆及其操作一、定义二、堆的抽象数据类型描述1、最大堆操作实现2、最小堆操作实现三、堆的建立1、定义2、最小堆的建立堆及其操作一、定义定义:堆是特殊的队列,从堆中取出元素是按照元素的优先级大小,而不是按照元素进入的先后顺序。储存方式:不管是用数组还是链表,插入删除最坏的情况计算复杂度都会是O(N)O(N)O(N)。而二叉搜索数不管插入还是删除计算复杂度都为O(logN)O(log N)O(logN),所以利用数来存储这种特殊的队列,一般不特指就是完全二叉树存储。上述表示方式有2个特性原创 2021-06-30 10:49:18 · 152 阅读 · 0 评论 -
数据结构与算法(陈越版)第四讲 (树中)二叉搜索树
二叉搜索树一、定义二、性质三、二叉搜索树的操作1、二叉搜索树的动态查找1.1、查找最大元素1.2 查找最小元素2、二叉搜索树的插入3、二叉搜索树的删除四、代码实现二叉搜索树一、定义二叉搜索树(Binary Search Tree)也叫做二叉排序树或者二叉查找树,一般简写为:BST。二、性质一个二叉搜索树是一个二叉树,可以为空。如果不为空,那么它包含以下性质:[1] 非空左子树的所有键值小于其根节点的键值[2] 非空右子树的所有键值大于其根节点的键值[3] 左右子树都是二叉树三、二叉搜索原创 2021-06-22 22:02:48 · 224 阅读 · 2 评论