![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 83
stranger-domic
这个作者很懒,什么都没留下…
展开
-
数据结构——10.二叉树的表现和实现
数据结构10.二叉树的表现和实现1.1二叉树的存储结构1.顺序存储二叉树的顺序存储结构就是一组地址连续的存储单元依次自上而下,自左而右地存储二叉树中的结点,并且在存储结点的同时,结点的存储位置(下标)应能体现结点之间的逻辑关系。那么如何利用数组下标来反映结点之间的逻辑关系呢?性质5中介绍的完全二叉树中结点的编号就可以反映出结点之间的逻辑关系。顺序实现的特点1.造成存储空间的浪费:最坏的情况下,一个深度为k且只有k个结点的右单支二又树需要2k−12^k-12k−1个存储单元2.一般只用于一原创 2021-06-07 23:07:05 · 460 阅读 · 3 评论 -
数据结构——9.树和二叉树
数据结构9.树和二叉树1.1树的概念树(Tree):是由n(n≥0)个结点构成的有限集合T。若n=0称为空树。否则,一个非空树需满足以下两个条件:(1)有且只有一个特定的称为根(root)的结点;(2)除根结点以外的其它结点被分成m(m≥0)个互不相交的有限集合T1,T2,…,TmT_1,T_2,…,T_mT1,T2,…,Tm,其中每个集合又是一棵树。其中树T1,T2,…,TmT_1,T_2,…,T_mT1,T2,…,Tm称作树根的子树(subtree)。根节点:唯一的没有前驱的结原创 2021-06-07 23:00:45 · 136 阅读 · 0 评论 -
数据结构——8.串
数据结构8.串1.1串从数据结构角度看,串也属于线性结构,具有线性结构的共同特征;串的个性是:串中的元素是字符;操作的对象往往不再是单个数据元素,而是一组数据元素串(String):由零个或多个字符组成的有限序列。记为:S=a0a1……an−1(n≥0) S=a_0a_1……a_{n-1} (n≥0)S=a0a1……an−1(n≥0)概念:元素$ a_i$是字符,n为串的长度,n=0时是空串(Null String)子串:串中任意连续个字符组成的子序列被称为该串的子串,包含子串的串原创 2021-06-05 21:24:49 · 1100 阅读 · 0 评论 -
数据结构——7.队列
数据结构7.队列1.1队列队列是一种只允许在表的一端插入,在另一端删除的操作受限的线性表。像排队一样,入队时排在队尾,到达越早的结点离开的越早。所以队列的特点是先进先出(FIFO:First In First Out)。如:排队取款,打印队列的管理等。允许删除的一端称为队头(记为front)允许插入的一端称为队尾(记为rear)当队列中没有元素时称为空队列1.2顺序队列1.使用顺序表来实现队列2.两个指针分别指向队列的前端和尾端。3.若队列大小MaxSize个,元素下标的范围从O到M原创 2021-06-05 21:18:51 · 703 阅读 · 0 评论 -
数据结构——6.栈
6.栈从数据结构角度看,栈和队列仍属于线性结构,具有线性结构的共同特征;其个性是:栈和队列是操作受限的线性结构;后进先出(LIFO,Last In First Out)或先进后出(FILO,First In Last Out)结构,最先(晚)到达栈的结点将最晚(先)被删除。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bZmWipBl-1622898141212)(高数叔数据结构自学.assets/image-20210505012201242.png)]栈顶(to原创 2021-06-05 21:15:37 · 2711 阅读 · 0 评论 -
数据结构——5.双链表、循环链表
数据结构5.双链表、循环链表双链表如果某链表经常进行查找结点前驱的操作,我们希望查状前驱的时间复杂度也达到O(1),这时可以用空间换时间:即每个结点再增加一个指向前驱的指针域prior,使链表可以进行双向查找,这种链表称为双向链表。每个结点附加了两个指针字段,如prior/pre和next深刻理解双向链表,指向双链表某结点的指针为p;问:p->prior->next==?;P->next->prior==?;答:p->prior->next ==原创 2021-05-05 01:54:37 · 1988 阅读 · 0 评论 -
数据结构——4.单链表
数据结构4.单链表线性表的链式表示和实现——链表将每个结点放在一个独立的存储单元中,结点间的逻辑关系依靠存储单元中附加的指针来给出。前一个数据的指针指向了后一个数据,以此类推。结点的存储单元在物理位置上可以相邻,也可以不相邻。结点由两部分组成:数据字段+指针字段(后继元素的地址)链表节点图示单链表示意图指针P1指向下一个结点A2这个整体的首地址,结点A2中的指针域中的指针P2,指向下一个结点A3这个整体的首地址。首元结点是存储第一个数据元素的结点,也称为第一元素结点。头结点是在首元原创 2021-05-05 01:52:59 · 1258 阅读 · 0 评论 -
数据结构——3.线性表、顺序表
数据结构3.线性表、顺序表线性表是逻辑结构,顺序表链表是存储结构3.1 线性表的概念线性结构的特点:存在唯一一个被称为“第一个”的数据元素;存在唯一一个被称为“最后一个”的数据元素;除“第一个”元素无前驱外,集合中的每个元素均有且只有一个“直接”前驱;除“最后一个”元素无后继外,集合中每个数据元素均有且只有一个“直接”后继。1.线性表(Linear_List):是具有相同数据类型的n(n≥0)个数据元素的有限序列,通常记为:(a0,a1,…,ai−1,ai,ai+1,…,an−1)(a原创 2021-05-05 01:50:53 · 293 阅读 · 0 评论 -
数据结构——2.算法及算法分析
数据结构2.算法及算法分析算法:是指令的有限序列,是对特定问题求解步骤的描述。算法具有下列5个重要特性:1.有穷性:步骤有限,执行时间有限。2.确定性:有确切的合义,无二义性,算法只有唯一的一条执行路径。3.可行性:可以通过已经实现的基本运算执行有限次来实现的;4.输入:算法具有零个或多个输入。5.输出:算法具有一个或多个输出。算法和程序的区别:(1)在执行时间上,算法所描述的步骤一定是有限的,而程序可以无限地执行下去。因此程序并不需要满足上述的第一个条件(有穷性)。例如操作系统程序,是原创 2021-05-05 01:49:37 · 341 阅读 · 0 评论 -
数据结构——1.基本概念和术语
数据结构1.基本概念和术语1.数据(Data)是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中,被计算机程序识别和处理的符号的集合。2.数据元素(Data Element)是数据中的一个“个体”,是数据的基本单位。在有些情况下数据元素也称为元素、结点、顶点、记录等。数据元素用于完整地描述一个对象。如:一个学生记录、一张图片、图的一个顶点等。3.数据项(Data ltem)是组成数据元素的有特定意义的不可分割的最小单位。如构成一个数据元素的字段、域、属性等都可称之为数据项。数据元素是原创 2021-05-05 01:46:27 · 319 阅读 · 0 评论