- 博客(4)
- 收藏
- 关注
原创 二叉搜索树的深度优先遍历和广度优先遍历
在二叉树的深度优先遍历中,搜索“深入”树中尽可能远的节点,直到到达一个叶子节点,然后回溯到之前的节点以探索其他路径。这种方法倾向于首先完全访问一个节点的子树,然后再移动到同一级别的下一个节点。在二叉树的广度优先遍历中,搜索是逐层进行的,从根节点开始,首先访问所有第一级的节点,然后是所有第二级的节点,依此类推。1.前序遍历:首先访问当前节点,然后是左子树,最后是右子树。2.中序遍历:首先访问左子树,然后是当前节点,最后是右子树。3.后续遍历:首先访问右子树,然后是当前节点,最后是左子树。
2024-01-27 01:57:51 415
原创 数据结构——队列的实现
在实现顺序队列时我依然采用了数组作为基础的数据结构,与栈不同的是,队列是先进先出,而栈是后进先出,我们使用top和rear两个整数分别指向队列的头部和尾部,在队列为空时top=rear;由于队列先进先出的特性我们可以将顺序队列设计为一个循环队列。代码实现了队列的enqueue(入队),dequeue(出队),isempty(检查队列是否为空),peek(返回队列头部元素)这几个操作。
2024-01-15 17:53:43 345
原创 数据结构——栈的实现
在实现顺序栈时我采用了数组作为基础数据结构,这个顺序栈包含了3个私有属性top:指向栈顶位置的整数,maxsize_:最大长度,stack:一个指向整数数组的指针 (用于存储栈中的元素)。并且实现了栈的push(添加),pop(删除),length(返回当前元素的数量),isempty(检查是否为空栈),peek(返回栈顶元素的值)这几个操作。
2024-01-15 12:42:35 433
原创 数据结构——链表的实现
我们先定义一个用来实现链表的节点类node为了能相对轻松的展示链表的实现,我们将节点类的结构定义的简单一点为了方便我们在单链表的实现中将头结点定义为一个node类型的指针,名为head。其实还可以将头节点定义成一个data_为0(0代表空值)的node类,我们在之后双向链表以及循环链表的实现中采用此种方式。我们一共实现了链表的在指定位置插入数据,在尾部添加数据,删除指定位置数据,销毁链表,求链表长度以及获取指定位置的值这几种基本方法。
2024-01-10 15:36:30 440 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人