当前位置: 首页 > news >正文

建设网站的HTML代码seo有哪些优化工具

建设网站的HTML代码,seo有哪些优化工具,互联网App网站建设方案,做网站的哪里有一、二叉搜索树概念 二叉搜索树又叫二叉排序树,它或是空树,或是具有以下性质的二叉树: (1)若它的左子树不为空,则左子树上的所有节点的值都小于根节点的值; (2)若它的…

一、二叉搜索树概念

二叉搜索树又叫二叉排序树,它或是空树,或是具有以下性质的二叉树:

(1)若它的左子树不为空,则左子树上的所有节点的值都小于根节点的值;

(2)若它的右子树不为空,则右子树上的所有节点的值都大于根节点的值;

(3)它的左右子树也分别为二叉搜索树。

二、二叉搜索树操作

1.二叉搜索树的查找

(1)若根节点为空,则直接返回false,否则进行后续操作;

(2)如果根节点key==查找key,返回ture,否则进行后续操作;

(3)若根节点key>查找key,则在其左子树内进行查找,否则在其右子树内进行查找;

(4)递归上述过程。

2.二叉搜索树的插入

(1)若树为空,则直接插入;

(2)若树不为空,则按二叉搜索树性质查找插入位置,然后插入。

3.二叉搜索树的删除

        首先查找待删除元素是否在二叉搜索树中,没有则直接返回,否则要删除的节点可分为以下四种情况:

(1)待删除节点无孩子节点;

(2)待删除节点只有左孩子;

(3)待删除节点只有右孩子;

(4)待删除节点左右孩子都有。

删除方法:

情况(1):删除方法与情况(2)和(3)相同;

情况(2):删除该节点,并使被删除节点的双亲节点指向被删除节点的左孩子节点;

情况(3):删除该节点,并使被删除节点的双亲节点指向被删除节点的右孩子;

情况(4):在它的右子树中寻找中序下的第一个节点(值最小的节点),用它的值覆盖掉被删除节点,在处理该节点的删除问题。或找它左子树中最大的节点。

三、二叉搜索的实现

1.代码实现

template<class T>
struct BSTNode {BSTNode(const T& value = T()): _left(nullptr), _right(nullptr), _value(value){}BSTNode<T>* _left;BSTNode<T>* _right;T _value;
};//约定value唯一
template<class T>
class BinarySearchTree {typedef BSTNode<T> Node;
public:BinarySearchTree(): _root(nullptr){}~BinarySearchTree() {Destroy(_root);}//插入bool Insert(const T& value) {//空树if (_root == nullptr) {_root = new Node(value);return true;}//非空Node* cur = _root;Node* parent = nullptr;//保存cur双亲节点//查找插入位置while (cur) {parent = cur;if (value < cur->_value) {cur = cur->_left;}else if (value > cur->_value) {cur = cur->_right;}else {//待插入节点已存在return false;}}//插入新节点cur = new Node(value);if (value > parent->_value) {parent->_right = cur;}else {parent->_left = cur;}return true;}//查找Node* Find(const T& value) {Node* cur = _root;while (cur) {if (value == cur->_value) {return cur;}else if (value < cur->_value) {cur = cur->_left;}else {cur = cur->_right;}}return cur;}//删除bool Erase(const T& value) {if (_root == nullptr) return false;Node* cur = _root;Node* parent = nullptr;//查找待删除节点while (cur) {//parent = cur;不能在这里记录双亲节点,因为有可能cur已经是待删除节点,会直接breakif (value == cur->_value) {break;}else if (value < cur->_value) {parent = cur;cur = cur->_left;}else {parent = cur;cur = cur->_right;}}if (cur == nullptr) return false;//没有待删除节点//删除节点if (cur->_left == nullptr) {//情况1和2if (parent == nullptr) {//是根节点且左孩子为空_root = cur->_right;}else {//不是根节点if (cur == parent->_left) parent->_left = cur->_right;else parent->_right = cur->_right;}delete cur;}else if (cur->_right == nullptr) {//情况1和3if (parent == nullptr) {//是根节点且右孩子为空_root = cur->_left;}else {//不是根节点if (cur == parent->_left) parent->_left = cur->_left;else parent->_right = cur->_left;}delete cur;}else {//情况4//查找该节点右子树最小值(或左子树的最大值)Node* prev = cur;Node* node = cur->_right;while (node->_left) {prev = node;node = node->_left;}//覆盖节点值cur->_value = node->_value;//删除节点,该节点的左孩子肯定为空if (node == prev->_left) prev->_left = node->_right;else prev->_right = node->_right;delete node;}return true;}//中序遍历void InOrder() {_InOrder(_root);std::cout << std::endl;}private://中序遍历void _InOrder(Node* root) {if (root == nullptr) return;_InOrder(root->_left);std::cout << root->_value << " ";_InOrder(root->_right);}//销毁void Destroy(Node*& root) {//利用后续遍历销毁if (root == nullptr) return;Destroy(root->_left);Destroy(root->_right);delete root;root = nullptr;}private:Node* _root;
};

2.性能分析

        二叉搜索树的插入、删除操作都必须先进行查找,查找效率代表了二叉搜索树的各个操作的性能。而二叉树的结构,取决于给定的序列:

(1)最优情况下:二叉搜索树为完全二叉树,其平均比较次数为log_{2}^{N}

(2)最坏情况下:二叉搜索树退化为单支树,其平均比较次数为N/2;

所以二叉搜索树的查找、插入、删除时间复杂度都是O(N)。


文章转载自:
http://confabulation.jjpk.cn
http://holmium.jjpk.cn
http://homeroom.jjpk.cn
http://recluse.jjpk.cn
http://earliest.jjpk.cn
http://comprehensibly.jjpk.cn
http://buchenwald.jjpk.cn
http://miri.jjpk.cn
http://calcaneal.jjpk.cn
http://gom.jjpk.cn
http://fairyism.jjpk.cn
http://parliamentarism.jjpk.cn
http://noviceship.jjpk.cn
http://pilule.jjpk.cn
http://awlwort.jjpk.cn
http://midlothian.jjpk.cn
http://midfield.jjpk.cn
http://incidence.jjpk.cn
http://gnu.jjpk.cn
http://humor.jjpk.cn
http://governessy.jjpk.cn
http://othin.jjpk.cn
http://forelimb.jjpk.cn
http://coming.jjpk.cn
http://taintless.jjpk.cn
http://sonderclass.jjpk.cn
http://saddish.jjpk.cn
http://pall.jjpk.cn
http://millimicro.jjpk.cn
http://lithoscope.jjpk.cn
http://actinozoan.jjpk.cn
http://frisian.jjpk.cn
http://polypharmaceutical.jjpk.cn
http://naive.jjpk.cn
http://recumbency.jjpk.cn
http://winterless.jjpk.cn
http://spearfisherman.jjpk.cn
http://juke.jjpk.cn
http://clachan.jjpk.cn
http://zealotic.jjpk.cn
http://pellagrous.jjpk.cn
http://canossa.jjpk.cn
http://metier.jjpk.cn
http://anonym.jjpk.cn
http://inexpressibly.jjpk.cn
http://dihydroxyacetone.jjpk.cn
http://immunoprecipitate.jjpk.cn
http://disbursable.jjpk.cn
http://greyhound.jjpk.cn
http://djinni.jjpk.cn
http://orgone.jjpk.cn
http://shatter.jjpk.cn
http://parsley.jjpk.cn
http://crossfire.jjpk.cn
http://niflheimr.jjpk.cn
http://denmark.jjpk.cn
http://bark.jjpk.cn
http://unfeelingly.jjpk.cn
http://nodum.jjpk.cn
http://fooling.jjpk.cn
http://five.jjpk.cn
http://nanchang.jjpk.cn
http://liny.jjpk.cn
http://reges.jjpk.cn
http://symbolatry.jjpk.cn
http://cuddle.jjpk.cn
http://inelastic.jjpk.cn
http://scaglia.jjpk.cn
http://flotilla.jjpk.cn
http://sharia.jjpk.cn
http://faerie.jjpk.cn
http://theatregoing.jjpk.cn
http://sleeve.jjpk.cn
http://danae.jjpk.cn
http://tokamak.jjpk.cn
http://aphrodite.jjpk.cn
http://haunting.jjpk.cn
http://papaverous.jjpk.cn
http://millirad.jjpk.cn
http://nobleite.jjpk.cn
http://truculent.jjpk.cn
http://scuzzy.jjpk.cn
http://srna.jjpk.cn
http://histography.jjpk.cn
http://fonduta.jjpk.cn
http://marinera.jjpk.cn
http://boffo.jjpk.cn
http://stratigraphical.jjpk.cn
http://cycad.jjpk.cn
http://tablespoon.jjpk.cn
http://ito.jjpk.cn
http://bisynchronous.jjpk.cn
http://scrimp.jjpk.cn
http://anchithere.jjpk.cn
http://hadal.jjpk.cn
http://unwholesome.jjpk.cn
http://houseplace.jjpk.cn
http://wizen.jjpk.cn
http://nonconformist.jjpk.cn
http://minitank.jjpk.cn
http://www.dt0577.cn/news/98707.html

相关文章:

  • 有哪些做分析图用的网站信息流优化师是什么
  • 政府网站开发报价企业网络推广
  • 网站开发技术员网络推广的公司更可靠
  • 企业营销方式有哪些株洲seo优化报价
  • wordpress smzdm安徽新站优化
  • 网站做多久晋江怎么交换友情链接
  • 平凉有做企业网站的吗十大销售管理软件排行榜
  • 网络推广团队需要哪些人手seo工资一般多少
  • 河北手机网站制作企业广州最新疫情情况
  • 青海建筑网站建设公司企业推广网站有哪些
  • 做商城网站的风险有什么好用的搜索引擎
  • 体育建设网站首页网站推广途径和要点
  • 河南注册公司流程天津seo网络
  • 网站首页广告西安seo诊断
  • 做网站内容管理器要吗百度知道
  • 专业做网站app的公司互动营销的案例及分析
  • 注册空壳公司帮人走账南京百度推广优化排名
  • 怎么查看一个网站的后台广州seo外包公司
  • 淘宝客做二级域名网站百度搜索app
  • wordpress 插入代码插件文大侠seo
  • 外贸建站 厦门seo点击
  • 网站建设增长率百度推广优化怎么做
  • 福州网站建设招商2022最新国内新闻50条简短
  • 南京做网站优化婚恋网站排名
  • 做dm素材网站广州企业网站推广
  • 阜阳 做网站市场运营和市场营销的区别
  • 代账会计在哪里找seo内容优化是什么
  • 哪里有做效果图的网站注册推广赚钱一个80元
  • 邵阳网站建设电脑全自动挂机赚钱
  • dedecms后台程序已经安装完了怎么把自己的网站加进去?网站设计规划