搜索结果
查询Tags标签: lChild,共有 58条记录-
线段树 C++实现 树形式
网上看了一圈,看到几个都是用数组实现的 我用树结构重写了一遍 #ifndef SEGMENTTREE_H #define SEGMENTTREE_H #include <vector>template<typename T> class SegmentTree {public:SegmentTree(std::vector<T> &a) {int N = a.size();this->a =…
2022/8/29 14:24:33 人评论 次浏览 -
选择排序----堆排序
堆排序的特点 堆排序是利用堆这种数据结构而设立的一种排序算法 堆排序具有以下特点: ①:完全二叉树(从上到下,从左到右,每一层的节点都是满的,最下边一层所有的节点都是连续集中在最左边)。 ②:二叉树每个结点的值都大于或者等于其左右孩子节点的值称之为大顶堆。 二…
2022/3/22 6:29:21 人评论 次浏览 -
基于二叉树的算法
1.统计二叉树中度为1的节点个数 int NodeCount(BiTree bt){if(bt == null) return 0;if(bt->lchild == null && bt->rchild != null || bt->lchild != null && bt->rchild == null)return 1+NodeCount(bt->lchild) + NodeCount(bt->rch…
2022/2/4 20:12:46 人评论 次浏览 -
python数据结构之树(1)
入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。 目录 一、树的一些基础概念 二、python简单树的自行构建 三、python构建二叉树 1、概念申明 2、python实现二叉树的基本操作 1、判断树是否为空 2、照着层的顺…
2022/1/31 11:04:18 人评论 次浏览 -
【PAT】1020 Tree Traversals (25 分)
#include <iostream> #include <vector> #include <queue> using namespace std; struct node {int data;int lchild,rchild; };vector<int> post,in; vector<node> T;int t_index=0; int lca(int inl,int inr,int postRoot){if(inl>inr…
2022/1/30 23:37:52 人评论 次浏览 -
Essential C++ Chapter 6学习记录(6.1~6.5节的代码)
#include<iostream> using namespace std;template <typename elemType> class BinaryTree;template <typename elemType> class BTnode;template <typename valType> class BTnode{friend class BinaryTree<valType>; public:BTnode(const…
2022/1/18 1:04:06 人评论 次浏览 -
Essential C++ Chapter 6学习记录(6.1~6.5节的代码)
#include<iostream> using namespace std;template <typename elemType> class BinaryTree;template <typename elemType> class BTnode;template <typename valType> class BTnode{friend class BinaryTree<valType>; public:BTnode(const…
2022/1/18 1:04:06 人评论 次浏览 -
线索二叉树(中序)
线索二叉树的抽象数据类型1 enum PointerTag{ Link, Thread }; 2 typedef struct ThreadNode 3 { 4 char data; 5 enum PointerTag LTag; 6 enum PointerTag RTag; 7 struct ThreadNode* Lchild; 8 struct ThreadNode* Rchild; 9 }BiThrNode, *BiThrT…
2022/1/12 6:03:59 人评论 次浏览 -
线索二叉树(中序)
线索二叉树的抽象数据类型1 enum PointerTag{ Link, Thread }; 2 typedef struct ThreadNode 3 { 4 char data; 5 enum PointerTag LTag; 6 enum PointerTag RTag; 7 struct ThreadNode* Lchild; 8 struct ThreadNode* Rchild; 9 }BiThrNode, *BiThrT…
2022/1/12 6:03:59 人评论 次浏览 -
二叉树遍历算法的应用
二叉树的抽象数据结构1 typedef struct Node 2 { 3 char data; 4 struct Node* Lchild; 5 struct Node* Rchild; 6 }BTNode;//Binary Tree Node打印二叉树的叶子结点1 void PrintLeafNode(BTNode* A)2 {/*打印二叉树的叶子结点*/3 if (A == NULL)4 {5…
2022/1/11 1:33:34 人评论 次浏览 -
二叉树遍历算法的应用
二叉树的抽象数据结构1 typedef struct Node 2 { 3 char data; 4 struct Node* Lchild; 5 struct Node* Rchild; 6 }BTNode;//Binary Tree Node打印二叉树的叶子结点1 void PrintLeafNode(BTNode* A)2 {/*打印二叉树的叶子结点*/3 if (A == NULL)4 {5…
2022/1/11 1:33:34 人评论 次浏览 -
二叉树节点删除、添加等操作(C++)
二叉树节点删除操作可以分为三种情况:叶子节点 有左或右孩子节点 既有左孩子又有右孩子思路: 只为叶子节点,可直接删掉,使用delete()函数(C语言中是free)释放节点;有单个孩子节点,则让孩子节点接替要删除的节点;同时有左右孩子节点,则查找右子树中最小值,将其值付…
2021/12/21 17:19:59 人评论 次浏览 -
二叉树节点删除、添加等操作(C++)
二叉树节点删除操作可以分为三种情况:叶子节点 有左或右孩子节点 既有左孩子又有右孩子思路: 只为叶子节点,可直接删掉,使用delete()函数(C语言中是free)释放节点;有单个孩子节点,则让孩子节点接替要删除的节点;同时有左右孩子节点,则查找右子树中最小值,将其值付…
2021/12/21 17:19:59 人评论 次浏览 -
查找与排序算法的设计和实现(实现插入、选择等各种排序算法)
主要运用: 1.在顺序表上进行顺序查找及在有序顺序表上进行二分查找的算法。 2.二叉排序树的定义和有关操作,理解对二叉排序树进行操作的递归算法; 3.各种排序算法思想、时间和空间复杂度分析,能根据实际需要选择合适的排序方法。 实现功能: 1、实现顺序表的顺序查…
2021/12/19 20:49:55 人评论 次浏览 -
查找与排序算法的设计和实现(实现插入、选择等各种排序算法)
主要运用: 1.在顺序表上进行顺序查找及在有序顺序表上进行二分查找的算法。 2.二叉排序树的定义和有关操作,理解对二叉排序树进行操作的递归算法; 3.各种排序算法思想、时间和空间复杂度分析,能根据实际需要选择合适的排序方法。 实现功能: 1、实现顺序表的顺序查…
2021/12/19 20:49:55 人评论 次浏览