- 博客(13)
- 收藏
- 关注
原创 【数据结构】链式二叉树实现
BTNode;学习树逻辑基本上都是递归,递归有三部曲一定要弄清楚确定递归函数的参数和返回值确定终止的条件确定单层递归的逻辑。
2024-05-13 15:16:14 715
原创 【数据结构】树和二叉树基本概念和性质
本章带来数据结构重点树相关的概念,同时和之前的线性结构完全不同,树是非线性结构学好二叉树第一步,就必须对该性质十分熟练和深刻的理解!
2024-05-06 19:17:23 635 1
原创 【LeetCode】环形队列实现
之前我们学习环形链表相关问题,现在我们来看看环形队列有什么不同呢循环队列题目链接我们使用数组实现,需要一个数组,还有2个标志头(head)和尾(tail)的变量,和一个标志存放多少数据的变量kint* a;int head;int tail;int k;循环队列用数组实现就需要多注意数组越界问题。
2024-05-06 19:00:21 1021
原创 【LeetCode】《动图演示》 225. 用队列实现栈和232. 用栈实现队列
出栈:popST没有数据就让pushST把数据导出来(出栈),所以先进去的数据会在pushST栈的栈顶,直接出栈就实现了先进先出。出栈功能:有数据的队列持续导入到空队列(取队头数据导入,出队删除本身的数据),直到最后一个数据,再将其输出后删除,这样实现了。一个栈用来入数据(pushST),一个栈用来出数据(popST),popST为空,就让pushST导数据进来。取栈顶数据:有数据的队列最后一个数据就是栈顶,通过队列的特性,直接返回队尾数据即可。栈是否为空:两个队列为空,就返回。这里说明代码这个部分。
2024-04-26 11:49:36 582 1
原创 【数据结构】队列的实现
数据结构的常见线性表,分别是顺序表,链表,栈,队列本篇给大家带来链表结构实现队列和讲解,这也是线性表结构的最后一篇,大家一起共勉链表学习完,实习队列并不难,只不过在单链表和基础上多添加了尾结点,因此造成嵌套结构体,一共两层,主要理解和熟悉队列的特性(先进先出)和链表结构的多样性。
2024-04-26 11:46:50 294 1
原创 【数据结构】利用顺序表实现栈
数据结构的常见线性表,分别是顺序表,链表,栈,队列本篇给大家带来利用顺序表实现栈和讲解顺序表学完了,在实现栈比较简单,只不过是顺序表的变形而已,主要理解和熟悉栈的特性(后进先出),栈相关OJ题主要对其特性方面出题。
2024-04-23 09:27:17 558
原创 【数据结构】带头双向循环链表
数据结构的常见线性表,分别是顺序表,链表,栈,队列本篇给大家带来带头双向循环链表的实现和讲解前指针(prev)数据(data)后指针(next)// 链表的结构// 链表的结构// 数据域// 前一个结点// 后一个结点}ListNode;带头双向循环链表,虽然结构复杂但是实现起来特别简单,如果想快速实现功能可以直接写两个函数,pos的插入和删除,带头双向循环链表主要还是主要存储数据。
2024-04-23 09:25:30 779
原创 【数据结构】环形链表问题(链表带环)
单链表带环是链表中比较经典的问题,重要是推导和证明链表中最后节点的next不是链接到NULL,而是链接到该链表中任一节点包括自己。
2024-04-19 12:45:43 564 1
原创 【数据结构】《动图演示》单链表实现
一般定义结构前,我们会先重命名该结构的数据类型,因为这个结构可能会存放不止一种数据,可能会存放int、float、double等等,所以为了方便我们代码后期维护,重定义后只需要改变一处就可以了。// 存放的数据类型数据域(data)和指针域(next)data:存放结点的数据部分next:存放下一个结点(结构体)的地址// 单链表结点的定义// 数据域// 指针域}SListNode;这里的意思就是重命名,把sturct SListNode 命名为SListNode。
2024-04-18 10:41:23 494
原创 手把手带你了解时间复杂度和空间复杂度 【超详细】
学习数据结构的第一步,对时间复杂度和空间复杂掌握和理解是非常关键的,不管是考研还是学校的应试或者说你想要写出一个效率高的程序,内容有点多,请大家耐心看完。
2023-04-22 19:07:40 7022 6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人