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

电子商务的网站建设seo优化几个关键词

电子商务的网站建设,seo优化几个关键词,西地那非使用三大忌,广州服装设计公司有哪些堆的特征 1.堆是一个完全二叉树 2.堆分为大堆和小堆。大堆:左右节点都小于根节点 小堆:左右节点都大于根节点 堆的应用:堆排序,topk问题 堆排序 堆排序的思路: 1.升序排序,建小堆。堆顶就是这个堆最小…

堆的特征

1.堆是一个完全二叉树

2.堆分为大堆和小堆。大堆:左右节点都小于根节点

小堆:左右节点都大于根节点

堆的应用:堆排序,topk问题

堆排序

堆排序的思路:

1.升序排序,建小堆。堆顶就是这个堆最小的数,堆顶和这个堆的最后一个数换位置,然后再把最后一个数取出,再pop这个数。就得到最小值。像这样每次取一个最小值,再删掉。依次把取出的数放在数组中,就得到升序排序了。

2.降序排序,建大堆。思路同升序一样。

上面说的是向下调整。向下调整就是每次取个数,由于和堆的最后一个数交换了位置,取出之后的二叉树需要调整一下才能成为一个堆。如果是大堆,就比较堆顶的和左右子树,大于它,堆顶和大的那个交换,这样层层交换下去。

如果一共有k层,最坏交换k次,如果是N个节点,就是log(N+1)次。

堆排序就是排N个数嘛,时间复杂度就是O(N*logN),空间复杂度就是O(N)。

向上调整:

向上调整可以应用于尾部插入数。调成一个大堆后停止。

对于一个随机数组,建大堆,向下调整法:

对于一个随机数组建小堆,向上调整法:

topk问题

如何从10000个数中取出最大的50个数?此问题也可以用于:内存空间不够,建堆数量有限,如何在大量的数据中取出前k个最大(小)的数。

答:先取出这些数据中前50(k)个建小堆,剩下的数和堆顶相比,遇到大于堆顶的数就直接替换掉堆顶的数。替换一次,小堆也要向下调整一次,保持它是一个小堆。这样比到最后一个数。就能保持这个小堆是这10000个数中最大的50个了。

如果是取出最小的50个数,那就是建大堆了。遇到比堆顶小的就替换、调整等。

二叉树的遍历

用链表建二叉树。

typedef struct BinaryNode
{int val;struct BinaryNode* left;struct BinaryNode* right;
}BTNode,*pBTNode;

如上述代码所示,树的一个节点存储三个值,一个是它的数据,一个是它指向的左子树指针,一个是指向右子树的指针。如果左子树和右子树都是空,就指向空。

这样由链表构建的一个二叉树。可以通过三种遍历方式来读取整个二叉树的数据。

前序:根----左子树----右子树

中序:左子树----根----右子树

后序:左子树----右子树----根

前中后序的命名是根据访问根的顺序来命名的。以前序遍历来举例:

http://www.yayakq.cn/news/866307/

相关文章:

  • 网站开发规划书怎么写昌江网站建设
  • 做百科网站建设网站的协议
  • 东莞东城万达合肥seo推广外包
  • 企业网站推广的首选办法是青岛做网站价格
  • 山东省环保厅官方网站建设项目河北建设机械协会网站
  • 赣州酒店网站设计做网站的收益来源
  • 口碑好的常州网站优化广东整治互联网霸王条款
  • 昆山做企业网站网站防黑客入侵做相关防御
  • 网站功能定制网站整站优化推广方案
  • 温州哪里有做网站书画网站建设方案策划
  • 网站开发竞品分析app定制价格
  • 能不能不用虚拟主机建设网站程序员帮人做黑彩网站
  • 网站的赚钱方式网站美工主要工作是什么
  • 杭州精品网站建设公司自己可以用百度云做网站吗
  • 郑州网站建设培训短期班网站改版建设原则
  • 怎么建设家乡网站网站建设主要干什么
  • 站酷网站源码上海ktv目前营业情况
  • 韩国美食做视频网站企业网站建设包括
  • 网站建设项目数汕头房产网站建设
  • 临沭县哪里有建网站的wordpress 禁止评论
  • 绿色门业宽屏网站模板 破解济南一哥网站建设
  • 网站模板怎么制作本地生活服务网站怎么做
  • 做网站的软件micro最简单的网页制作
  • 门户网站名词解释手把手教做网站
  • 视频上传下载网站建设网络管理系统为网络管理员提供了管理网络的接口
  • 天津网站建设外包wordpress修改文章模板
  • 设计网站特点企业管理咨询服务包括哪些内容
  • 做网站一般会出现的问题六安网站建设价格
  • 网站建设收费标准策划搜索引擎搜索wordpress
  • 婚纱摄影手机网站模板怎样经营好一个网站