
数据结构
文章平均质量分 91
「已注销」
这个作者很懒,什么都没留下…
展开
-
【数据结构】二叉树OJ题
🔊本专栏主要更新的是数据结构部分知识点💪。原创 2023-04-16 23:10:38 · 648 阅读 · 23 评论 -
【数据结构】二叉树的实现
🔊本专栏主要更新的是数据结构部分知识点💪。原创 2023-04-16 14:40:10 · 800 阅读 · 40 评论 -
【数据结构】堆排序和TOPK问题
🔊本专栏主要更新的是数据结构部分知识点💪。原创 2023-04-10 16:28:51 · 925 阅读 · 48 评论 -
【数据结构】堆的实现
堆的由来普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。原创 2023-01-26 10:41:48 · 653 阅读 · 45 评论 -
【数据结构】树和二叉树的概念
通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址。:完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。:若一个节点含有子节点,则这个节点称为其子节点的父节点;:以某节点为根的子树中任一节点都称为该节点的子孙。:一个节点含有的子树的根节点称为该节点的子节点;:度为0的节点称为叶节点;原创 2023-01-25 14:16:56 · 1286 阅读 · 31 评论 -
剖析栈和队列OJ题
如果「输出栈」为空,则把「输入栈」的元素逐个 pop() 并且 push() 到「输出栈」中,这一步会把「输入栈」的栈底元素放到了「输出栈」的栈顶。如果把「输入栈」的元素逐个弹出放到「输出栈」,再从「输出栈」弹出元素的时候,则可以负负得正,实现了先进先出。你所使用的语言也许不支持队列。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。原创 2023-01-18 17:43:21 · 765 阅读 · 35 评论 -
【数据结构】栈和队列
1.栈1.1栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶1.2栈的实现栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。首先在VS里面的源文件建立。原创 2023-01-17 21:15:53 · 635 阅读 · 34 评论 -
【数据结构】双向链表
为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。原创 2023-01-16 12:26:49 · 1140 阅读 · 43 评论 -
【数据结构】单链表
现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。给定一个头结点为 head 的非空单链表,返回链表的中间结点。新链表是通过拼接给定的两个链表的所有节点组成的。给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。思路:依次比较链表中的结点,每次取小的结点,尾插到新链表即可。、非顺序的存储结构,数据元素的。原创 2023-01-14 19:43:47 · 925 阅读 · 42 评论 -
【数据结构】顺序表
1.线性表线性表()是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。2.顺序表2.1概念及结构顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。本质上是数组,在此基础上,还要求数据是。原创 2023-01-11 20:52:48 · 907 阅读 · 33 评论 -
【数据结构】算法的时间复杂度和空间复杂度
数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。2.什么是算法?算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。原创 2023-01-09 11:33:48 · 646 阅读 · 22 评论