有限状态机 有限状态机(FSM) 1、 什么是“状态” 2、什么是状态机? 3、状态机图怎么画? 参考 有限状态机(FSM) 1、 什么是“状态” 先来解释什么是“状态”( State )。现实事物是有不同状态的,例如一…
分类:数据结构
数据结构(五)--栈和队列、输出n个元素的全排列(递归算法)
特殊的线性表–栈和队列 1.栈:插入和删除操作只允许在线性表的一端进行。(栈是操作系统实现嵌套调用机制的基础) 栈顶 允许操作的一端 栈底 不允许操作的一端 入栈(push) 往栈中插入元素 出栈(pop) 删除栈中元素…
八大数据结构及常见面试题
几乎所有的问题都需要面试者对数据结构有深刻的理解。无论你是初入职场的新兵(刚从大学或者编程培训班毕业),还是拥有几十年经验的职场老鸟。 即便是对于一些非常基础的工作来说,学习数据结构也是必须的。那么,就让我们先从一些基本…
数据结构 | 二叉树 先根、中根、后根遍历的非递归算法
上期文章: 数据结构 | 树与二叉树 参考教材:《数据结构》,刘大有 编程语言: C++ 目录 (一)二叉树的存储结构 (二)二叉树的遍历 先根遍历非递归算法 中根遍历非递归算法 后根遍历非递归算法 (一)二叉…
数据结构-排序(C语言与伪代码)
5种排序 1冒泡排序 伪代码 原理 代码实现 2插入排序 伪代码 原理 代码实现 3时间复杂度下届 4希尔排序 伪代码 代码实现 Hibbard序列 5选择排序 选择排序原理 伪代码 代码实现 6堆排序 堆排序基础程序(…
由序列确定二叉树:前序序列和中序序列构造二叉树 后序序列和中序序列构造二叉树 层次遍历序列和中序遍历序列构造二叉树 代码实现(c语言)
下面三种序列可以唯一的构造唯一的一棵二叉树: 前序序列和中序序列构造二叉树 后序序列和中序序列构造二叉树 层次遍历序列和中序遍历序列构造二叉树 #include<stdio.h…
数据结构学习心得
来源:我是码农,转载请保留出处和链接! 本文链接:数据结构学习心得 山不在高,有仙则灵;水不在深,有龙则灵;要学好数据结构,有数据结构学习网才行! 首先,恭喜您发现了这个网站:一个神奇的学习数据结构的网站! 其次,感谢您…
数据结构三要素——逻辑结构和物理结构与数据运算之间的关系
数据结构的三要素是:逻辑结构,物理结构,数据的运算。 逻辑结构: 分为线性结构个非线性结构。 线性结构就是有一一对应的关系的,如A-B-C,这三个字母就符合线性结构。 非线性结构就是集合,树,图。集合就是一些元素共同归位…
数据结构---C++版
第 1 章 数据结构的基本概念 1.1 数据结构在程序设计中的作用 1)程序设计的实质是什么? 数据表示:将数据存储在计算机(内存)中 数据处理:处理数据,设计方案(算法) 1.2 计算机求解问题: 1)问题→抽象出问题…
大顶堆的构建、排序过程
一、什么是堆 堆是一种非线性结构,可以把堆看作一棵二叉树,也可以看作一个数组,即:堆就是利用完全二叉树的结构来维护的一维数组。 Key[i]<=key[2i+1]&&Key[i]<=key[2…
数据结构:八大常见数据结构
数据结构目录: 一、结构分类 二、区别联系 1. 数组 2. 栈 3. 队列 4. 链表 5. 树 6. 散列表 7. 堆 8. 图 数据结构是指,相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系…
二叉搜索树的构造(Java实现)
目录 一、什么是二叉搜索树 二、二叉搜索树的性质 三、二叉搜索树的构造 1. 构造基本的二叉搜索树 2. 向二叉搜索树中添加元素 3. 改进插入元素的方法 四、二叉搜索树的查询 五、测试 1. 测试类代码 2. 运行结果…