数据结构与算法分析
文章平均质量分 82
Ultimo2023
(・●・)
展开
-
哈夫曼树详解
哈夫曼树一些名词结点路径:从树中的一个结点到另一结点之间的分支构成的这两个结点之间的路径,路径上的分支数目称作路径长度。**结点的权:**结点的数值有某种现实的含义(被进行了加权)。**结点的带权路径长度:**从树的根到该结点的路径长度与该结点上的权值的乘积。树的带权路径长度为树中所有叶子结点的带权路径长度之和(WPL,Weight Path Length)。定义哈夫曼树又称为最优二叉树,是在我们使用n个节点构造一棵树时,如果构造的这棵树的带权路径长度最小,则为哈夫曼树。...原创 2022-02-10 10:08:47 · 295 阅读 · 0 评论 -
一文解决数据结构——树(一)二叉树
数据结构——树定义树是一个n个节点的有限集,如果n=0时,则称之为空树。树的三大性质树的定义是递归的,树的定义中又用到自身树的根节点没有前驱,除根节点以外,其他所有节点有且只有一个前驱树中的所有接待你可以有0个或者多个后继二叉树概念一种特殊的树形结构每个节点至多只有两个子树二叉树的遍历二叉树的遍历分为三种:前序(根->左->右)中序(左->根->右)后序(左->右->根)以下二叉树为例,讲述二叉树的遍历方式前序前序遍历:原创 2022-02-07 12:31:14 · 973 阅读 · 0 评论 -
一文解决数据结构——栈(C语言实现)
一文搞定数据结构之栈(C语言实现)何为栈?栈的状态何为栈?栈(Stack):就是只允许在一端(限定只在表尾)进行插入或删除操作的线性表。所以,对于栈而言,是有所区分栈顶(top)和栈底(bottom) 的。具体就如下图:所以,在使用栈的存储时,是存在先进后出的一个规律。当我们将元素依次存储入栈后,最先进栈储存的元素在取出(出栈)时,是需要等到后入栈压在其上的元素被全部取出后,才能出栈。栈的状态一个栈它是有着四种不同的状态空栈满栈入栈出栈...原创 2022-02-01 12:15:20 · 1762 阅读 · 0 评论 -
一文解决数据结构之线性表的链式表达(C语言实现)
一文搞定数据结构之线性表的链式表达(C语言实现)前言线性链表结点构成链表功能实现链表的初始化前言上文我们讲述了,线性表的顺序表达(顺序表)的原理以及ADT的实现,我们知道顺序表的存储结构在逻辑关系上以及在物理位置上均是连续的。一文搞定数据结构之线性表的顺序表达(C语言实现)但是,在许多实际情况下,由于顺序表需要整块的内存,并且当我们进行增删改操作时,也需要对其他的元素进行位序改变,而当我们存储的元素越多,进行位序改变时,需要移动的元素数量也就会变得的更多。所以,这里我们就要引入链表。当然,链表可以弥原创 2021-10-12 00:44:52 · 193 阅读 · 3 评论 -
一文解决数据结构之线性表的顺序表达(C语言实现)
一文搞定数据结构之线性表(C语言实现)线性表线性表数据结构可以分为两类:线性结构、非线性结构。**线性结构:**是一个有序数据元素的集合。如:线性表,栈,队列,双队列,数组,串;**非线性结构:**是一个结点前后可能有多个前驱和后继。如:图,二维数组,多维数组,广义表,树(二叉树等)。所以,这里这个线性表是线性结构,也就是说线性表中的元素只有一个前驱,后一个后继~~(咳咳,什么废话)~~...原创 2021-10-07 00:40:02 · 328 阅读 · 0 评论 -
数据结构与算法(二)排序
数据结构与算法(二)排序排序Comparable接口简单排序冒泡排序排序排序在平时开发中,是一个非常常见的一种需求,我们时常需要把一些数据元素经行一定秩序化的排列,这就意味着对排序经行更为优化的算法开发是十分有必要的。在工程经行算法编用的时候,我们会把每一个算法封装成一个API,然后再像调用jdk一样去使用。Comparable接口Comparable接口可使排序算法更具有通用性,无论是数据或是对象经行排序,我们都要提供一个排序的秩序规则,并要求这些物体较于排序规则而言是可比较的。范例:定义一原创 2021-08-11 21:02:38 · 844 阅读 · 0 评论 -
数据结构与算法(一)数据结构分类与时间空间复杂度
数据结构与算法(一)数据结构分类逻辑结构分类集合结构线性结构树形结构图形结构物理结构分类顺序存储结构链式存储结构复杂度时间复杂度事后分析估算法事前分析估算法空间复杂度数据结构分类逻辑结构分类逻辑结构是从具体问题中抽象出来的模型,是抽象意义上的结构,是按照对象中数据元之间的相互关系的分类。逻辑结构可以分为:集合结构、线性结构、树形结构和图形结构。集合结构集合结构:集合结构中的元素除了共同属于同一个集合有以外,没有其他的关系。线性结构线性结构中数据元素之间存在一对一的关系。树形结构树形结构中数原创 2021-08-02 11:14:42 · 744 阅读 · 0 评论