![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Wang_PChao
这个作者很懒,什么都没留下…
展开
-
关于递归的一丁点思考
递归函数的特殊地方在于,递归函数中含有自我调用的语句,除此之外和普通函数并没有什么特殊之处。函数进入下一级递归时,系统栈会保存上层函数的变量值,以便被调函数返回后可以继续执行。递归函数可以想象成探索地下迷宫,这个迷宫有N层,每一层长得一模一样,不停地向下探索,直到触底,然后再开始想上返回。搞清楚这个仅有的特殊点之后,其实可以将递归函数看做普通函数,在编写时也时刻将他看做普通函数就行了,过多的特殊化考虑反而会带来不必要的烦恼。请看如下代码(注,这段代码并不是我写的,我只是参考者):imp原创 2020-07-11 16:57:43 · 214 阅读 · 0 评论 -
数据结构:使用java语言实现二叉树的前序、中序、后序遍历
package com.company;import java.util.Arrays;import java.util.LinkedList;public class Main { // 定义结点类 private static class TreeNode { int data; TreeNode lChild; T...原创 2020-03-22 23:22:43 · 275 阅读 · 0 评论 -
数据结构:静态链表
静态链表的产生背景让我们使用逆向思维倒推一下静态链表的产生:C语言等高级语言的指针操作是一件非常耐人寻味的事物,他的灵活性也是让人又恨又爱,事物总是有其发展过程,不可能像孙猴子一样直接从石头里蹦出来就是个完整体,在指针之前,程序员们是使用一个什么样的数据结构来进行相同或者近似的操作?我们知道,指针本质上是地址,它表示的是从哪个位置上可以获取我们想要的下一个数据(next)。了解到这一层我们...原创 2020-02-18 13:07:47 · 1062 阅读 · 3 评论 -
数据结构:链式栈
链式栈是在链式线性表的基础上加以限制,从而形成的具有特定功能的数据结构,具有先进后出的特点,在递归等算法中具有广泛的应用,定义链式栈需要定义两个数据结构,一个是结点的数据结构,一个是栈的数据结构,下文只介绍链式栈操作中最重要的部分:定义数据结构、初始化、出栈、入栈。定义链式栈中的数据结构// 首先定义使用到的数据结构:typedef struct StackNode { SEl...原创 2020-02-24 11:56:54 · 765 阅读 · 0 评论 -
大话数据结构中的代码错误-顺序循环队列的QueueTraverse()函数
疫情期间,被困家中,先来无事过一遍数据结构中的基础知识,再看《大话数据结构》中循环队列时,看到这个一段代码:/* 从队头到队尾依次对队列Q中每个元素输出 */Status QueueTraverse(SqQueue Q){ int i; i=Q.front; while((i+Q.front)!=Q.rear) { visit(Q.data[i]); i=(i+1)%M...原创 2020-02-23 18:32:36 · 2079 阅读 · 2 评论