-
【数据结构】图Graph的邻接矩阵,邻接表及深度、广度遍历
所属栏目:[安全] 日期:2020-12-15 热度:99
图的分类 有/无向图 如果给图的每条边规定一个方向,那么得到的图称为 有向图 。在有向图中,与一个节点相关联的边有出边和入边之分。相反,边没有方向的图称为无向图 。 下面介绍图的两种存储结构 1、邻接矩阵 用一个一维数组 存放图中所有顶点数据;用一个[详细]
-
【数据结构】栈的队列的实现
所属栏目:[安全] 日期:2020-12-15 热度:137
今天,再次实现一下数据结构中的栈和队列 这次我们用的是C++实现栈和队列,用到了C++多态的一种特性:泛型编程--模板 关于模板这个知识点,我们之前讲过,这次就不多说了 Stack.h #pragma once#includeiostreamusing namespace std;#includeassert.htemplate[详细]
-
【数据结构】用栈实现对后缀表达式的计算
所属栏目:[安全] 日期:2020-12-15 热度:125
首先提一句,我所用的IDE是VS2013。编译器不同,所支持的特性也就不同; 现在的C++已经发展到C++11版本,因此VS2008基本就不支持C++11新的特性; 我们用后缀表达式,利用数据结构中的栈,进行结果的计算 如果是操作数,则压栈 如果是操作符,则出栈两个元素[详细]
-
【数据结构】用回溯法求解迷宫问题
所属栏目:[安全] 日期:2020-12-15 热度:179
今天呢,让我们来用栈求解一下数据结构中的著名问题---迷宫问题 我们先“制造”一个迷宫,把它放在Maze.txt文件中 Maze.txt 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 10 0 0 1 1 1 1 1 1 11 1 0 1 0 0 0 0 1 11 1 0 1 0 1 1 0 1 11 1 0 1 1 1 1 1 1 11 1 0 0 0[详细]
-
【数据结构】二叉树部分面试题解法
所属栏目:[安全] 日期:2020-12-15 热度:187
1.问题描述: 根据给定的二叉树前序中序遍历结果,重建出这颗二叉树。例如:前序遍历结果:1,2,3,4,5,6。中序遍历结果:3,2,4,1,6,5。 2.问题分析: 我们知道,前序遍历的顺序是:当前结点,左子树,右子树。那么,前序遍历的第一个数字就是根节点[详细]
-
【数据结构】利用后缀表达式求表达式的值
所属栏目:[安全] 日期:2020-12-15 热度:147
目标: 将一个中缀表达式转化为后缀表达式并进行求值。 难点: 1、 数字和符号的区分与提[详细]
-
【数据结构】二叉树的简单操作及简单应用
所属栏目:[安全] 日期:2020-12-15 热度:84
简介: 二叉树的应用十分广泛。根据二叉树的前序序列和中序序列,可以构造出二叉树。构造方法可以采用递归和非递归。二叉树的遍历通常有四种方法,分别是前序遍历,中序遍历,后序遍历,层序遍历。其中,前序,中序,后序又有递归和非递归两种写法。求最近公[详细]
-
【数据结构】二叉查找树
所属栏目:[安全] 日期:2020-12-15 热度:169
建树 树节点的存储方式与普通的二叉树相似,用结构体存储,其中一个 int 变量存储数据,两个指针指向左右儿子。 读入一个新数据,从根节点开始寻找,大于当前节点则继续寻找右子树,右子树为空则直接插入,小于当前节点则继续寻找左子树,左子树为空则直接插[详细]
-
【数据结构】——平衡二叉树(插入)
所属栏目:[安全] 日期:2020-12-15 热度:152
平衡二叉树,是一种二叉排序树,其中每个结点的左子树和右子树的高度差至多等于1。它是一种高度平衡的二叉排序树。高度平衡?意思是说,要么它是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。 将二叉树上结[详细]
-
POJ 1436 Horizontally Visible Segments [线段树-区间更新]【数
所属栏目:[安全] 日期:2020-12-15 热度:91
题目链接:http://poj.org/problem?id=1436 ————————————————————————-. Horizontally Visible Segments Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5262 Accepted: 1932 Description There is a number of disjo[详细]
-
【数据结构】广义表
所属栏目:[安全] 日期:2020-12-15 热度:96
一、问题概述 广义表是非线性的数据结构,是由若干个元素组合而成的,广义表中可以有子表,类似这样的: 我们以C=(a,b,(c,d))为例,将它定义为这样的数据结构: 我们会给定字符串的形式,如:char * str = "(a,d))"; 然后将它转化为如上的数据结构。 二、解[详细]
-
【数据结构】扩充先序遍历创建二叉树
所属栏目:[安全] 日期:2020-12-15 热度:174
之前接触和学习的大多是二叉树的应用,即:二叉树的遍历、查找和排序等等。今天小编要介绍的是二叉树的创建。 为了在程序中更有效和直观的创建一棵二叉树,可以使用,扩充先序遍历,来创建二叉树。 【定义】 扩充先序遍历,首先要根据一棵二叉树写出它的先序[详细]
-
【数据结构】对一个数组按给定的下标排序,仅使用两两交换的方式
所属栏目:[安全] 日期:2020-12-15 热度:115
题目描述: 对一个数组按给定的下标排序,仅使用两两交换的方式,要求不能对数组进行扩容尽可能使用额外少的空间。 例如:原数组为:A,B,C,D,E,现给定新的位置为:3,1,4,2,那么排序后为D,A,C。 问题分析: 为什么分类为数据结构,因为其实这个题就是快排的[详细]
-
【数据结构】-(一)
所属栏目:[安全] 日期:2020-12-15 热度:87
第一章 哈哈哈,当然是概论了 1、数据结构是计算机组织和存储数据的方式。 2、数据-数据元素-数据项(最小的标识单位)。 3、四种逻辑结构:集合、线性结构、树形结构、图结构。 4、数据存储结构:顺序存储方式、链式存储方式、索引存储方式、散列存储方式。[详细]
-
【数据结构】-(二)
所属栏目:[安全] 日期:2020-12-15 热度:67
第四章 树和二叉树 1、对于具有层次结构的数据需要用树形结构来描述。 2、树形结构中一个结点可以有一个或多个直接后继。 3、树是n个结点的有限集合,满足:当n=0时,称为空树;当n0时,有且仅有一个称为根的结点,除根结点外,其余结点分为m(m=0)个互不相交[详细]
-
【数据结构】-(三)
所属栏目:[安全] 日期:2020-12-15 热度:172
第五章 图 1、在图结构中,任意两个结点之间都可能相关,结点之间的邻接关系可以是任意的。 2、无向图:任意两点之间都有边的无向图称为无向完全图。一个具有n个顶点的无向完全图的边数为:n(n-1)/2。任何两点之间都有弧的有向图称为有向完全图。一个具有n个[详细]
-
【数据结构】平衡二叉树的构建以及增加删除操作
所属栏目:[安全] 日期:2020-12-15 热度:188
一、前言 最近学习中遇到了平衡二叉树的实用,要求是对一个数据列,进行平衡二叉树的排列,并画出结果,小编刚开始的时候不是很会,通过总结资料学习了一下平衡二叉树的相关知识,通过博客总结一下。 二、什么是平衡二叉树? 平衡二叉树 (Balanced Binary T[详细]
-
【数据结构】普通二叉树的实现
所属栏目:[安全] 日期:2020-12-15 热度:92
一、问题概述 树是n个有限个数据的集合,形如: 它像不像倒着的树呢?我们把它看成是一种数据结构----树。它的第一个节点称作树的根,最底下的那些节点称作树的叶子。 我们今天所要研究的是二叉树,即父节点最多只有两个孩子(左孩子和右孩子)。 二叉树还有[详细]
-
【数据结构】二叉树的实现
所属栏目:[安全] 日期:2020-12-15 热度:105
上篇博客中,我们详细说明了树和二叉树的数据结构及其特征,本次,我们用C++来实现一下二叉树 定义二叉树节点结构 二叉树需要定义指向左孩子和右孩子节点的指针,还有存储的数据;我们在这把它的构造函数也写出来 //定义一个二叉树节点templatetypename Tstr[详细]
-
【数据结构】图的遍历方法 深度优先遍历和广度优先遍历
所属栏目:[安全] 日期:2020-12-15 热度:125
转自 :http://blog.csdn.net/sundong_d/article/details/44992839 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?) [+] 接着上次的文章“图的构建(邻接链表法)”,邻接链表法构建图相对来说比较简单,并且遍历起来也相对简单,但是要是动[详细]
-
【数据结构】二叉排序树小礼包(对splay,Treap,SBT的理解,例
所属栏目:[安全] 日期:2020-12-15 热度:194
二×排序树(BST),的主要性质是有序性,树的中序遍历始终为同一个有序序列,也就是对于每一节点u u的左儿子的键值应当小于u,右儿子键值大于u。 最佳状态平衡树高度为log(N),这意味着插入,删除,查询,查询排名等多种操作可以在log(N)的时间内完成(0.0[详细]
-
POJ 3667 Hotel [线段树+区间更新]【数据结构】
所属栏目:[安全] 日期:2020-12-15 热度:110
题目链接:http://poj.org/problem?id=3667 ———————————————————————————. Hotel Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 16674 Accepted: 7234 Description The cows are journeying north to Thunder Bay[详细]
-
SPOJ IITWPC4F - Gopu and the Grid Problem [线段树]【数据结构
所属栏目:[安全] 日期:2020-12-15 热度:101
题目链接:http://www.spoj.com/problems/IITWPC4F/ ————————————————————————————-. IITWPC4F - Gopu and the Grid Problem no tags Gopu is interested in the integer co-ordinates of the X-Y plane (0=x,y=100000). Each i[详细]
-
【数据结构】-线性表-顺序表-1323: 算法2-1:集合union
所属栏目:[安全] 日期:2020-12-15 热度:150
1323: 算法2-1:集合union 题目链接请点击 题目描述 假设利用两个线性表LA和LB分别表示两个集合A和B(即:线性表中的数据元素即为集合中的成员),现要求一个新的集合A=A∪B。这就要求对线性表做如下操作:扩大线性表LA,将存在于线性表LB中而不存在于线性表[详细]
-
【数据结构】-线性表-顺序表-1324: 算法2-2:有序线性表的有序合
所属栏目:[安全] 日期:2020-12-15 热度:139
1324: 算法2-2:有序线性表的有序合并 题目地址点击 题目描述 已知线性表 LA 和 LB 中的数据元素按值非递减有序排列,现要求将 LA 和 LB 归并为一个新的线性表 LC, 且 LC 中的数据元素仍然按值非递减有序排列。例如,设LA=(3,5,8,11),LB=(2,6,9,11,15,20)[详细]