数据结构
诩_
对于计算机的一切领域都很感兴趣!
展开
-
【数据结构】二叉树DFS(深度优先搜索)
【代码】【数据结构】二叉树DFS(深度优先搜索)原创 2024-03-14 18:43:25 · 360 阅读 · 0 评论 -
【数据结构】二叉树的BFS(广度优先搜索)
【代码】【数据结构】二叉树的DFS(广度优先搜索)原创 2024-03-14 16:56:18 · 177 阅读 · 0 评论 -
【数据结构】二叉树的基本操作
这样是为了保证左右子树都访问过了以后在访问根节点:当我们访问过左子树以后,弹出根节点,然后需要判断右子树是否访问过或者右子树是否为空,如果是的话就访问根节点,否则就将右子树的根节点压入栈中,然后再访问右子树的根节点的左子树,直到右子树为空或者右子树被访问过,就返回去访问根节点弹栈。该结构采用的是二叉树的左右链表示,即一个结构体中有三部分,一部分是二叉树节点本事的数据,其他两部分是指向二叉树下一个节点的指针,一个指向左子树,一个指向右子树。二叉树的存储方式哦同样有两种,一种是顺序存储,一种是链式存储。原创 2023-10-06 21:07:25 · 943 阅读 · 0 评论 -
【数据结构】链表栈
在进行压栈操作时,我们规定只在链表的头部进行插入,即在头结点之后插入一个元素,使得这个元素的指针指向头结点的下一个元素,然后让头结点的指针指向这个元素。链栈实际上和单链表差别不大,唯一区别就在于只需要对链表限定从头部进行删除元素和增加元素就可以了。链式栈的实现,是通过先定义一个结构体节点,然后定义一个指向该结构体的指针,通过该指针来操作栈。栈的主要表示方式有两种,一种是顺序表示,另一种是链式表示。的指针,通过该指针可以访问链式栈的栈顶元素。同样的,我们也只需要在头部进行删除元素即可。原创 2023-10-06 21:06:20 · 401 阅读 · 0 评论 -
【数据结构】单链表的基本操作(节点建立、插入删除)
链表的定义是基于结构体之上的,一个链表一般需要定义两方面的东西,一个是链表的节点,一个是链表的指针。int data;上述代码中的val是数据域,用来存放数据,next是指针域,用来存放下一个节点的地址。并且该代码采用了typedef定义了一个别名LNode,用来指代链表的节点,List是链表的指针,用来指向链表的第一个节点。原创 2023-09-27 15:30:55 · 1360 阅读 · 4 评论 -
【数据结构】顺序栈及其基本操作
由于栈的特性,我们在查询的时候一般查询栈的栈顶元素。栈是一种数据结构,其主要特点是后进先出,相当于我们在瓶子里面放东西,后放进去的东西在上面,所以拿出来的时候自然是从上面取出来,所以后进去的先出来。栈的判空和比较简单,在判空时只需要判断top是否等于-1即可,在判满的时候只需要判断top是否等于MAXSIZE-1即可。在压栈的过程中我们需要让top加一,即让栈顶元素的位置加一,然后让新的元素赋值到新的数组的top位置上。压栈即将元素压入栈中,压栈的时候,我们需要给函数传递需要压栈的元素和栈本身。原创 2023-09-26 15:14:25 · 707 阅读 · 0 评论 -
【数据结构】队列的基本操作(基本实现 | 初始化 | 出入队列)
队列与其他数据结构有一点不同,例如在栈的指针实现过程中,只需要一个栈顶指针,而在队列的指针实现中,需要两个指针,一个指向队列的头,一个指向队列的尾。其中实现的方式为,先从队列的末尾插入元素,即先创建一个节点,然后将其插入到队列的末尾。当需要出队列的时候,从队列的头开始出队列。下面将介绍队列中两个比较重要的操作,一个是入队列,一个是出队列。在队列中,front指向队列的头,rear指向队列的尾。队列的特性是先进后出,即先进入队列的元素,最后出队列。队列的指针实现,需要一个队列节点,还需要一个队列型。原创 2023-09-25 20:36:34 · 938 阅读 · 0 评论