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

网站搭建视频专门制作网站

网站搭建视频,专门制作网站,上海网站建设找哪家,wordpress nodejs转载#xff1a;https://www.cnblogs.com/wuchanming/p/4444961.html 红黑树相关的知识点#xff0c;提高自己和面试应该用的到 1.stl中的set底层用的什么数据结构#xff1f; 2.红黑树的数据结构怎么定义的#xff1f; 3.红黑树有哪些性质#xff1f; 4.红黑树的…转载https://www.cnblogs.com/wuchanming/p/4444961.html    红黑树相关的知识点提高自己和面试应该用的到 1.stl中的set底层用的什么数据结构 2.红黑树的数据结构怎么定义的 3.红黑树有哪些性质 4.红黑树的各种操作的时间复杂度是多少 5.红黑树相比于BST和AVL树有什么优点 6.红黑树相对于哈希表在选择使用的时候有什么依据 7.如何扩展红黑树来获得比某个结点小的元素有多少个 8.扩展数据结构有什么步骤 9 为什么一般hashtable的桶数会取一个素数 详细解答 1.stl中的set底层用的什么数据结构 红黑树 2.红黑树的数据结构怎么定义 enum Color  {            RED  0,            BLACK  1  };    struct RBTreeNode  {             struct RBTreeNode*left, *right, *parent;             int   key;             int data;             Color color;  };  3.红黑树有哪些性质 一般的红黑树满足以下性质即只有满足以下全部性质的树我们才称之为红黑树 1每个结点要么是红的要么是黑的。 2根结点是黑的。 3每个叶结点叶结点即指树尾端NIL指针或NULL结点是黑的。 4如果一个结点是红的那么它的俩个儿子都是黑的。 5对于任一结点而言其到叶结点树尾端NIL指针的每一条路径都包含相同数目的黑结点。 4.红黑树的各种操作的时间复杂度是多少 能保证在最坏情况下基本的动态几何操作的时间均为Olgn 5.红黑树相比于BST和AVL树有什么优点 红黑树是牺牲了严格的高度平衡的优越条件为代价它只要求部分地达到平衡要求降低了对旋转的要求从而提高了性能。红黑树能够以O(log2 n)的时间复杂度进行搜索、插入、删除操作。此外由于它的设计任何不平衡都会在三次旋转之内解决。当然还有一些更好的但实现起来更复杂的数据结构能够做到一步旋转之内达到平衡但红黑树能够给我们一个比较“便宜”的解决方案。 相比于BST因为红黑树可以能确保树的最长路径不大于两倍的最短路径的长度所以可以看出它的查找效果是有最低保证的。在最坏的情况下也可以保证O(logN)的这是要好于二叉查找树的。因为二叉查找树最坏情况可以让查找达到O(N)。 红黑树的算法时间复杂度和AVL相同但统计性能比AVL树更高所以在插入和删除中所做的后期维护操作肯定会比红黑树要耗时好多但是他们的查找效率都是O(logN)所以红黑树应用还是高于AVL树的. 实际上插入 AVL 树和红黑树的速度取决于你所插入的数据.如果你的数据分布较好,则比较宜于采用 AVL树(例如随机产生系列数),但是如果你想处理比较杂乱的情况,则红黑树是比较快的 6.红黑树相对于哈希表在选择使用的时候有什么依据 权衡三个因素: 查找速度, 数据量, 内存使用可扩展性。   总体来说hash查找速度会比map快而且查找速度基本和数据量大小无关属于常数级别;而map的查找速度是log(n)级别。并不一定常数就比log(n) 小hash还有hash函数的耗时明白了吧如果你考虑效率特别是在元素达到一定数量级时考虑考虑hash。但若你对内存使用特别严格 希望程序尽可能少消耗内存那么一定要小心hash可能会让你陷入尴尬特别是当你的hash对象特别多时你就更无法控制了而且 hash的构造速度较慢。 红黑树并不适应所有应用树的领域。如果数据基本上是静态的那么让他们待在他们能够插入并且不影响平衡的地方会具有更好的性能。如果数据完全是静态的例如做一个哈希表性能可能会更好一些。 在实际的系统中例如需要使用动态规则的防火墙系统使用红黑树而不是散列表被实践证明具有更好的伸缩性。Linux内核在管理vm_area_struct时就是采用了红黑树来维护内存块的。 红黑树通过扩展节点域可以在不改变时间复杂度的情况下得到结点的秩。 7.如何扩展红黑树来获得比某个结点小的元素有多少个 这其实就是求节点元素的顺序统计量当然任意的顺序统计量都可以需要在O(lgn)时间内确定。 在每个节点添加一个size域表示以结点 x 为根的子树的结点树的大小则有 size[x] size[[left[x]] size [right[x]] 1; 这时候红黑树就变成了一棵顺序统计树。 利用size域可以做两件事 1). 找到树中第i小的结点 OS-SELECT(x;,i)  r  size[left[x]]  1;  if i  r       return x  elseif i  r       return OS-SELECT(left[x], i)  else return OS-SELECT(right[x],  i)  思路size[left[x]]表示在对x为根的子树进行中序遍历时排在x之前的个数递归调用的深度不会超过O(lgn); 2).确定某个结点之前有多少个结点也就是我们要解决的问题 OS-RANK(T,x)  r  x.left.size  1;  y  x;  while y ! T.root           if y  y.p.right                   r  r  y.p.left.size 1           y  y.p  return r  思路x的秩可以视为在对树的中序遍历种排在x之前的结点个数加上一。最坏情况下OS-RANK运行时间与树高成正比所以为O (lgn). 8.扩展数据结构有什么步骤 1).选择基础数据结构 2).确定要在基础数据结构种添加哪些信息 3).验证可用基础数据结构上的基本修改操作来维护这些新添加的信息 4).设计新的操作。 9 为什么一般hashtable的桶数会取一个素数 设有一个哈希函数 H( c ) c % N; 当N取一个合数时最简单的例子是取2^n比如说取2^38,这时候 H( 11100(二进制 ) H( 28 ) 4 H( 10100(二进制) ) H( 20  4 这时候c的二进制第4位从右向左数就”失效”了也就是说无论第c的4位取什么值都会导致H( c )的值一样这时候c的第四位就根本不参与H( c )的运算这样H( c )就无法完整地反映c的特性增大了导致冲突的几率 取其他合数时都会不同程度的导致c的某些位”失效”从而在一些常见应用中导致冲突 但是取质数基本可以保证c的每一位都参与H( c )的运算从而在常见应用中减小冲突几率 个人意见有时候不取质数效率也不会太差公司代码中的值为116但是无疑取质数之比较保险的..)
http://www.yutouwan.com/news/468198/

相关文章:

  • 中亿丰建设集团股份有限公司网站四川住房和城乡建设厅网站打不开
  • 响应式网站缺点用xp做网站是否先搭建iis
  • 大型网站空间费用爱站seo综合查询
  • 做网站广告公司联系方式广州做网站市场
  • 有什么做论文的网站做平面设计的一般浏览什么网站
  • html5 微网站开发网站可信图标
  • 做网站备案是什么意思营销网站建设是什么意思
  • 网站域名解析ip查询阿里巴巴 商城网站怎么做
  • 海南的网站建设公司哪家好wordpress手机端菜单设置
  • 长沙网站优化外包公司惠州建设企业网站
  • 天水做网站的多国语言网站模板
  • 网站更改备案信息吗网站的种类有哪些
  • 贺州网站建设wordpress 站长统计插件
  • 郑州专业的网站建设公司浙江网站推广公司
  • 温州网站建设专业的公司网站建设怎么报价表
  • 徐州沛县网站建设海淀区seo搜索引擎优化企业
  • 在哪个网站可以一对一做汉教wordpress更改logo
  • 沧州做网站多少钱wordpress显示当前文章的分类
  • 鄂州市建设局网站青岛做网站排名
  • 银川免费网站建设蚌埠市建设学校网站
  • 企业网站模板免费下载企业网站模板淄博网站建设淄博
  • 响应式网站模板 开源seo是做什么工作内容
  • 移动网站建设作业公司域名备案全部过程
  • 做化妆品网站wordpress 常用查询
  • 网站下拉广告vi设计网站有哪些
  • 个人网站推广apphtml网页设计实验总结
  • 网站建设与管理专业是什么平台公司破产
  • 青岛网站建设哪个平台好河南seo和网络推广
  • 南宁定制网站制作网络公司线下怎么做推广和宣传
  • 网站建设的电话公司名称及网址