
数据结构
Soar-
这个作者很懒,什么都没留下…
展开
-
数据结构---排序算法(比较排序)
#include#include#include#include#includeusing namespace std;void Bubble_Sort(int A[],int N){ for(int p=N-1; p>=0; p--) { int flag=0; for(int i=0; i<p; i++)//一趟冒泡原创 2018-01-20 10:53:09 · 222 阅读 · 0 评论 -
L2-004. 这是二叉搜索树吗?
L2-004. 这是二叉搜索树吗? 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一棵二叉搜索树可被递归地定义为具有下列性质的二...原创 2018-03-29 17:33:48 · 135 阅读 · 0 评论 -
L2-006. 树的遍历(重建)
L2-006. 树的遍历 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的...原创 2018-03-29 17:38:45 · 188 阅读 · 0 评论 -
L2-002. 链表去重
L2-002. 链表去重 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一个带整数键值的单链表L,本题要求你编写程序,删除那...原创 2018-03-29 19:50:57 · 109 阅读 · 0 评论 -
L2-012. 关于堆的判断
L2-012. 关于堆的判断 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 将一系列给定数字顺序插入一个初始为空的小顶堆H[]。...原创 2018-03-30 09:04:36 · 205 阅读 · 0 评论 -
L2-013. 红色警报(图连通性基础)
L2-013. 红色警报 战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N <=500)和M(<=5000...原创 2018-03-30 09:40:03 · 815 阅读 · 0 评论 -
L3-010. 是否完全二叉搜索树
L3-010. 是否完全二叉搜索树 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 将一系列给定数字顺序插入一个初始为空的二叉搜索...原创 2018-03-29 16:13:11 · 204 阅读 · 0 评论 -
L2-011. 玩转二叉树
L2-011. 玩转二叉树 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面...原创 2018-03-29 17:07:04 · 136 阅读 · 0 评论 -
非比较排序--- 计数排序、基数排序、桶排序
计数排序计数排序是一种稳定的排序算法。计数排序是最简单的特例,由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量时间和内存,实用性不高。例如:计数排序是用来排序0-100之间的数字的最好的算法;另外,计数排序可以用在基数排序中的算法来排序数据范围很大的数组。计数排序的时间复杂度为O(n+k)n为...原创 2019-09-14 15:43:40 · 194 阅读 · 0 评论 -
优先队列---二叉堆
优先队列---二叉堆:二叉堆是一棵完全二叉树,最大堆(最小堆)中,所有根节点的键值都要比对应的子树要大(小)。由于是完全二叉树,所以存储结构可以采用数组。最大堆的操作:最大堆的创建原创 2017-12-17 20:46:31 · 249 阅读 · 0 评论 -
平衡二叉树(AVL树)
平衡二叉树是在二叉搜索树的基础上增加了限制:①:树的深度为logN。②:每个节点的左子树和右子树的高度最多差一的二叉搜索树。基本操作:调整!!!引入平衡因子:左右子树的高度差。当平衡因子绝对值大于等于2的时候,就需要调整。单旋转比较简单,直接把被破坏节点下一个节点提上去,然后再根据二叉搜索树的特点进行换儿子即可。如下图:实现:Position原创 2017-12-15 11:52:40 · 692 阅读 · 0 评论 -
二叉搜索树(BST,基本操作实现)
二叉搜索树(Binary Search Tree)也叫做二叉排序树或者二叉查找树。相比正常的二叉树就是多了一条性质:左子树的键值小于其根节点的键值,右子树反之,左右子树都是二叉搜索树。主要操作函数:(还是递归递归递归!!!)Position Find( ElementType X, BinTree BST ):从二叉搜索树BST 中查找元素X,返回其所在结点的地址;Posi原创 2017-12-12 23:18:00 · 497 阅读 · 0 评论 -
二叉树的重建(3种)---编程之美
二叉树的重建由二叉树的中序和 前序,后序,层序 中的任意一种可以唯一确定一二叉树。主要思想就是找到根结点,然后划分,左右递归!额~,代码挺好理解的!!直接看就好了层序和中序列,我的思想是,层序中先出现的即为根节点,所以对中序中的data出现的顺序保存在一个数组里, 然后~~~(总是隐约感觉有更好的办法。) 三种重建主要观察怎样划分的!前序和后序比较类似!struct ...原创 2017-11-09 21:31:20 · 484 阅读 · 0 评论 -
二叉树基础知识大全(核心理解遍历)
二叉树的递归图://数据结构---二叉树基础知识总结(小白专场)---c语言实现//树作为一种基本的数据结构,在学习的过程中,主要要去学习:递归的思想,因为树本身就是递归定义的。//栈,和队列直接用的c++标准库里的(为了简洁)#include<cstdio>#include<iostream>#include<cstring>#include<string>#include<stack原创 2017-11-21 15:09:54 · 1278 阅读 · 1 评论 -
03-树1 树的同构(25 分) 2017秋 数据结构 陈越、何钦铭
03-树1 树的同构(25 分)给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤10),即该树的结点原创 2017-11-21 16:27:25 · 257 阅读 · 0 评论 -
04-树4 是否同一棵二叉搜索树(25 分)---陈越、何钦铭-数据结构-2017秋
04-树4 是否同一棵二叉搜索树(25 分)给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。 输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L原创 2017-11-21 16:38:31 · 504 阅读 · 0 评论 -
表达式求值(C实现,实现多括号,浮点数)---栈的实现以及运用。
刚学完栈的时候写的,主要锻炼下栈的C实现吧!//栈用单链表来实现#include<stdio.h>#include<stdlib.h>#include<ctype.h>#include<math.h>#include<string.h>struct Node1{ char a; struct Node1 *next;};struct Node2{ double原创 2017-11-21 16:59:05 · 1412 阅读 · 4 评论 -
有序链表的合并(数据结构---单链表)
includeinclude原创 2017-11-21 17:05:01 · 337 阅读 · 0 评论 -
栈实现(数据结构---数组,链表 C实现)
#include<stdio.h>#include<stdlib.h>//栈的数组实现struct StackRecord{ int Capacity; int TopOfStack; int *Array;};typedef struct StackRecord *Stack;Stack CreateStack(int Length){ Stack原创 2017-11-21 17:23:18 · 262 阅读 · 0 评论 -
二叉树遍历的应用(递归!递归!递归!)
在学习《数据结构》中二叉树这块的时候,能很好地帮助我们学习递归思想二叉树高度:int height(BiTree T){ if (!T原创 2017-12-01 13:37:47 · 1707 阅读 · 0 评论 -
数据结构 --- 平衡二叉树、B树、B+树 、B*树
平衡二叉树B树B+树B*树总结平衡二叉树平衡二叉树是基于二分法的策略提高数据的查询速度的二叉树的数据结构;特点:平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则:(1)非叶子节点只能允许最多两个子节点存在。(2)每一个非叶子节点数据...原创 2019-09-15 16:26:43 · 168 阅读 · 0 评论