福州网站建设联系时事在玩具网站开发背景

web/2025/9/25 13:50:28/文章来源:
福州网站建设联系时事在,玩具网站开发背景,智慧物流企业网站建设方案,加强机关网站建设1-什么是跳表 跳表SkipList是一种随机化的数据结构#xff0c;基于并联的链表#xff0c;实现简单#xff0c;插入、删除、查找的复杂度均为 O(logN)#xff08;大多数情况下#xff0c;因为是实现上是概率问题#xff09;#xff0c;因为其性能匹敌红黑树且实现较为简单…1-什么是跳表 跳表SkipList是一种随机化的数据结构基于并联的链表实现简单插入、删除、查找的复杂度均为 O(logN)大多数情况下因为是实现上是概率问题因为其性能匹敌红黑树且实现较为简单因此在很多著名项目都用 SkipList 来代替红黑树例如Redis中的有序集合zset 的底层存储结构就是用的skiplist。         跳跃列表由 William Pugh 发明。他在 Communications of the ACM发表了《Skip lists: a probabilistic alternative to balanced trees》在其中详细描述了他的工作。 假设原始链表的数据如下链表中存储的数据是有序的。 我们知道这种链表结构查询数据的时间复杂度是O(n)。但是如果我们对链表建立索引把节点数据提取出来放在上一级索引层这样是不是就可以提高查询效率了呢比如我们查找元素83如果按照原始链表要查询8个节点采用下面这个结构只需要查询5个节点。如果数据量越大优势就更加明显。 这种链表加多级索引的结构就是跳表。 2-跳表的查询 我们知道在一个单链表中查询某个数据的时间复杂度是O(n)。那么跳表的时间复杂度是多少呢       假设每两个结点会抽出一个结点作为上一级索引的结点那第一级索引的结点个数大约就是n/2第二级索引的结点个数大约就是n/4第三级索引的结点个数大约就是n/8依次类推也就是说第k级索引的结点个数是第k-1级索引的结点个数的1/2那第k级索引结点的个数就是n/(2^k)。        假设最高级索引有两个节点最高级索引是k总节点数是n那么n/(2^k)2klogn -1(以2为底的对数)。如果包含原始链表这一层整个跳表的高度就是logn。我们在跳表中查询某个数据的时候如果每一层都要遍历m个结点那在跳表中查询一个数据的时间复杂度就是O(m*logn)。一般m是常数所以在跳表中查询任意数据的时间复杂度就是O(logn)。这个时间复杂度是不是跟二分查找一样很高效了。但是这种效率的提升是以空间换时间的理念来实现的。 假设我们每两个节点抽取一个需要多使用n/2n/4n/8…842n-2。跳表的空间复杂度是O(n)。也就是说如果将包含n个结点的单链表构造成跳表我们需要额外再用接近n个结点的存储空间。假设我们每3个节点抽取一个总的索引结点大约就是n/3n/9n/27…931n/2空间复杂度还是O(n)但比上面的每两个结点抽一个结点的索引构建方法要减少了一半的索引结点存储空间。 其实我们不必太在意索引占用的额外空间因为实际的软件开发中原始链表中存储的有可能是很大的对象而索引结点只需要存储关键值和几个指针并不需要存储对象所以当对象比索引结点大很多时那索引占用的额外空间就可以忽略了。 3-跳表的插入-删除-索引的动态更新 插入在单链表中一旦定位好要插入的位置插入结点的时间复杂度是很低的就是O(1)。但是这里为了保证原始链表中数据的有序性我们需要先找到要插入的位置这个查找操作就会比较耗时O(n)。但是对于跳表来说我们讲过查找某个结点的的时间复杂度是O(logn)所以这里查找某个数据应该插入的位置方法也是类似的时间复杂度也是O(logn)。 删除如果这个结点在索引中也有出现我们除了要删除原始链表中的结点还要删除索引中的。因为单链表中的删除操作需要拿到要删除结点的前驱结点然后通过指针操作完成删除。所以在查找要删除的结点的时候一定要获取前驱结点。 索引动态更新当我们不停地往跳表中插入数据时如果我们不更新索引就有可能出现某2个索引结点之间数据非常多的情况。极端情况下跳表还会退化成单链表。作为一种动态数据结构我们需要某种手段来维护索引与原始链表大小之间的平衡也就是说如果链表中结点多了索引结点就相应地增加一些避免复杂度退化以及查找、插入、删除操作性能下降。        当我们往跳表中插入数据的时候我们可以选择同时将这个数据插入到部分索引层中。如何选择加入哪些索引层呢我们通过一个随机函数来决定将这个结点插入到哪几级索引中比如随机函数生成了值K那我们就将这个结点添加到第一级到第K级这K级索引中。随机函数的选择很有讲究从概率上来讲能够保证跳表的索引大小和数据大小平衡性不至于性能过度退化。 4-redis跳表使用 Redis中的有序集合zset 的底层存储结构就是用的skiplist为何不使用红黑树等平衡树主要原因有以下几点 1-高效的查找操作跳表通过建立多层索引可以在有序集合中实现快速的查找操作。相比于传统的平衡树结构如红黑树跳表的查找操作具有更低的时间复杂度平均情况下为O(log n)。2-简单且易于实现相对于其他复杂的数据结构如红黑树或AVL树跳表的实现相对简单且容易理解。它没有复杂的平衡调整操作只需通过维护索引层来保持有序性和高效性。3-空间效率较高跳表通过层级结构来建立索引每个节点只需额外存储少量的指针信息。相比于一些平衡树结构跳表在空间使用上通常更加高效。        还有一个业务功能原因对于按照区间查找数据ZRANGE这个操作跳表可以做到O(logn)的时间复杂度定位区间的起点然后在原始链表中顺序往后遍历就可以了。这样做非常高效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81654.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业网站开发报价形式游戏开发和网站开发那个有前景

网站首页优化TDK可以进入后台,系统设置--站点设置中,设置网站首页别名官方首页名称优化--长尾关键词【whatsns知识库开源内容付费php问答系统】,这样百度搜索问答系统,开源php问答系统,php问答系统,付费问答…

安全网站开发网络规划设计师教程最新版

PHP知识难点TOP3,挑战一下你这里有新鲜出炉的PHP设计模式,程序狗速度看过来!PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点&#xf…

网站建设策划icp是什么

功能介绍 以51单片机作为主控系统;对空气空气中有毒有害气体进行监测;使用LCD1602液晶显示,采集到的PM2.5值通过单片机串口传输;通过传感器对室内PM2.5粉尘进行检查;通过按键设置的上限值;当检测到有毒气体…

简单的购物网站模板网站建设江阴

Apache ECharts 是一个基于 JavaScript 的开源可视化图表库,它提供了直观、交互丰富且可高度个性化定制的数据可视化图表。这个库最初由百度团队开源,并在 2018 年初捐赠给了 Apache 基金会,成为 ASF 的孵化级项目。在 2021 年 1 月 26 日&am…

查网站有没有做推广手机兼职赚钱平台

备考CFA一级满打满算用了一个多月,每天八个小时以上。可能如果仅以通过为目标的话完全不用这样,看过太多类似于只看了一周就通过了考试又或是放弃了好几门飘过了考试的情况,我觉得这是不正确的考试状态,完全不必惊叹,踏…

网站导航条制作wordpress acf主题选项

#include <stdio.h> /** * 主函数&#xff1a;通过用户输入创建一个数组&#xff0c;并将其进行排序后打印。 */ int main(){ // 定义一个排序函数&#xff0c;接受一个整型数组和数组长度作为参数 void sort (int array[],int n); int a[10],i; // 定义一个…

北京网站关键字优化百度快照首页

小键盘问题 在Xshell 6上用vi的时候&#xff0c;开NumLock时按小键盘上的数字键并不能输入数字&#xff0c;而是出现一个字母然后换行&#xff08;实际上是命令模式上对应上下左右的键&#xff09;。解决方法 选项Terminal->Features里&#xff0c;找到Disable application …

站酷网设计素材网站做平台

springmvc实现文件上传的步骤&#xff1a; 1.页面上&#xff0c;通过input来准备file组件&#xff0c;该标签&#xff0c;必须给定name属性值 同时&#xff0c;要求form表单必须给定一个属性&#xff1a;enctype"multipart/form-data" 2.在pom.xml文件中&#xff0c;…

电子商务网站制作教程专门做招商的网站是什么

工业无线遥控器 SUNRF-1011RC工业无线遥控器产品 授权操作 一&#xff1a;简介&#xff1a;工业无线遥控器&#xff0c;是针对工业环境&#xff0c;专门设计的无线控制替代有线控制的方案。和有线控制一样&#xff0c;具有实时性、灵活性、多路同时操作、操作灵活顺畅无…

租赁网站空间免费建立企业网站

Spring Cloud一&#xff1a;Spring Cloud 简介 Spring Cloud二&#xff1a;核心组件解析 Spring Cloud三&#xff1a;API网关深入探索与实战应用 Spring Cloud四&#xff1a;微服务治理与安全 文章目录 一、Spring Cloud在CI/CD中的角色1. 服务注册与发现&#xff1a;自动化管理…

网站历史记录怎么恢复wordpress 推酷

关于声明式编程的还有一部分重要的内容&#xff0c;那便是函数式编程。函数式编程已经有很长时间的历史了&#xff0c;当年LISP便是个函数式编程语言。除了LISP以外我们还有其他许多函数式编程语言&#xff0c;如APL、Haskell、Scheme、ML等等。关于函数式编程在学术界已经有过…

公司品牌flash网站设计网站与装修公司

1143 最长公共子序列&#xff08;medium&#xff09; 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字…

深圳罗湖医疗集团网站建设做网站有哪些费用

力扣101. 对称二叉树 链接 https://leetcode.cn/problems/symmetric-tree/description/ 题目描述 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。示例1&#xff1a;此树是对称的。示例2&#xff1a;此树也是对称的示例3&#xff1a;此树不对称 思路 一颗…

建站模板更改wordpress统计插件

大家好&#xff0c;才是真的好。 如果你还不知道什么是RSS&#xff0c;从V站截图一份放到这里供大家参考&#xff1a; 其实&#xff0c;Domino上也可以很简单地发布RSS站点&#xff0c;以供内部或外部用户订阅。 前面其实我们说了不少关于Notes客户端的RSS订阅功能&#xff…

女人网站源码微信小程序 创建网站

首先&#xff0c;下载小皮面板&#xff1a;https://www.xp.cn/ 点Windows版本&#xff1a; 开始下载&#xff1a; 或者直接从百度网盘下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1gcaiK54yW7DcrYld22V06A 提取码&#xff1a;4oj8 –来自百度网盘超级会员V9…

常州网站建设培训郑州网络营销与网站推广

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、 在微服务系统中&#xff0c;不同应用服务可能会有各种不同的相互调用 。 springcloud 集成了 zipkin 来实现对于不同服务调用的追踪…

珠海做网站的公司有哪些山西城乡建设网站

pctfree这个参数定义了一个块保留空间的百分比&#xff0c;保留空间是为了将来可能发生的更新操作&#xff0c;因为更新可能增大被更新行占用的空间&#xff0c;如果此时该块没有可利用空间&#xff0c;那么只有发生row migrate了&#xff0c;从而会降低I/O性能。换句话说&…

网站建设对比模板建站平台

1.接口域名必须是https&#xff0c;有ssh证书。不能用ip地址。 2.需要在微信公众平台进行配置 微信公众平台->开发-> 开发管理->开发设置 对服务器域名和业务域名进行配置对业务域名进行配置时&#xff0c;需要下载校验文件&#xff0c;放在域名根目录下

判断网站wordpress主题开发班

问题 设$\mathbb P$为全体素数的集合,证明级数$$\sum_{p\in\mathbb P}\frac{1}{p}$$ 发散. 证明 做这个问题前&#xff0c;必须知道一个常识:全体素数集$\mathbb P$是无限的.所以题中才能作为级数. 如果结论不成立,则存在$k\in\mathbb N$使得$$\sum_{nk1}^{\infty}\frac{…

怎么制作网站下载软件网站设计素材图片

最近感触最深的就是一个项目需要好的架构设计&#xff0c;不会因为后面不断延伸业务需求造成业务代码的不断堆砌&#xff0c;破坏整个项目的层次结构&#xff0c;也让新来的团队成员更好的上手项目&#xff0c;从清晰的结构就能很快的了解整个业务的流程。一个好的架构设计&…