![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 75
小wanga
这个作者很懒,什么都没留下…
展开
-
【数据结构_C语言】归并排序—文件类型
内排序:数据量相对少一些,可以放到内存中排序。外排序:数据量较大,内存中放不下,数据放到磁盘文件中,需要排序。原创 2024-07-22 22:19:51 · 564 阅读 · 0 评论 -
【数据结构】二叉树-2
设二叉树的根节点所在层数为1,层序遍历就是从所在二叉树的根节点出发,首先访问第一层的树根节点,然后从左到右访问第2层上的节点,接着是第三层的节点,以此类推,自上而下,自左至右逐层访问树的结点的过程就是层序遍历。由于现在大家对二叉树结构掌握还不够深入,为了降低大家学习成本,此处手动快速创建一棵简单的二叉树,快速进入二叉树操作学习,等二叉树结构了解的差不多时,我们反过头再来研究二叉树真正的创建方式。学习二叉树结构,最简单的方式就是遍历。2.非空:根节点,根节点的左子树、根节点的右子树组成的。原创 2024-07-16 11:19:41 · 1245 阅读 · 0 评论 -
【数据结构】二叉树-1
现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是 ,则它就是满二叉树。双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;原创 2024-07-15 11:45:36 · 1013 阅读 · 0 评论 -
【数据结构】栈的实现(含详细代码)
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守先进后出LIFO(Last In First Out)的原则。代码共含三个文件,分别为Stack.h(头文件和函数声明), Stack.c(函数实现) Test.c(main函数和执行测试)栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。压栈:栈的插入操作叫做进栈/压栈/入栈/,入数据在栈顶。出栈:栈的删除操作叫做出栈,出数据也在栈顶。原创 2024-07-08 11:21:46 · 1021 阅读 · 0 评论 -
【数据结构】栈和队列
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较低。栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。压栈:栈的插入操作叫做进栈/压栈/入栈/,入数据在栈顶。出栈:栈的删除操作叫做出栈,出数据也在栈顶。原创 2024-07-01 14:32:34 · 1392 阅读 · 0 评论 -
【数据结构】算法的时间复杂度和空间复杂度
斐波那契数列的递归实现方式非常简洁,但简洁一定好吗?那该如何衡量其好与坏呢?原创 2024-06-30 20:28:54 · 889 阅读 · 0 评论 -
【数据结构】前言
数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值作为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。原创 2024-06-30 19:38:34 · 734 阅读 · 0 评论 -
【数据结构】链表
概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。3.从堆上申请的空间,是按照一定的策略来分配的,两次申请的空间可能连续,也可能不连续。1.从上图可看出,链式结构在逻辑上是连续的,但是在物理上不一定连续。备注:缓存利用率参考存储体系结构以及局部性原理。2.现实中的结点一般都是从堆上申请出来的。原创 2024-06-29 15:54:50 · 367 阅读 · 0 评论 -
【数据结构】线性表:顺序表
所以现实中都是使用动态顺序表,根据需要动态分配的空间大小,所以下面我们实现动态顺序表。例如当前容量为100,满了以后增容到200,我们再继续插入了5个数据,后面没有数据插入了,那么就浪费了95个数据空间。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储,在数组上完成数据的增删查改。原创 2024-06-24 11:32:27 · 798 阅读 · 0 评论