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

网站建设费的会计处理摄影作品可以在哪些网站投稿

网站建设费的会计处理,摄影作品可以在哪些网站投稿,wordpress主页 摘要,免费完整视频播放器哔哩哔哩文章目录 B树还是跳表B树简易代码跳表简易代码 B树还是跳表 MySQL的InnoDB存储引擎使用B树而不是跳表#xff0c;这是因为B树在关系型数据库系统中有一些优势#xff0c;特别是在处理范围查询、事务处理和数据持久性方面。下面详细说明B树和跳表的底层原理以及它们各自的优缺… 文章目录 B树还是跳表B树简易代码跳表简易代码 B树还是跳表 MySQL的InnoDB存储引擎使用B树而不是跳表这是因为B树在关系型数据库系统中有一些优势特别是在处理范围查询、事务处理和数据持久性方面。下面详细说明B树和跳表的底层原理以及它们各自的优缺点 B树B-Tree 原理B树是一种平衡树结构它具有根节点、内部节点和叶子节点。每个节点包含一定数量的键值对键值对按键值大小有序排列。内部节点只包含键叶子节点同时包含键和指向数据的指针。优点 范围查询效率高B树支持范围查询因为在B树中相邻的叶子节点是有序的所以在查找范围内的数据时非常高效。事务支持B树是一种多版本并发控制MVCC友好的数据结构适用于事务处理场景能够保证事务的ACID属性。数据持久性B树的叶子节点包含所有数据这意味着数据非常容易持久化到磁盘上支持高可靠性和数据恢复。 缺点 插入和删除开销较高由于B树的平衡性质插入和删除操作可能需要进行节点的分裂和合并这会导致性能开销较大。高度不稳定B树的高度通常比较大可能需要多次磁盘I/O才能访问叶子节点对于某些特定查询可能效率不高。 跳表Skip List 原理跳表是一种多层级的数据结构每一层都是一个有序链表最底层包含所有数据而上层包含的数据是下层的子集通过跳跃节点快速定位目标数据。优点 平均查找时间较低跳表的查询时间复杂度为O(log n)与平衡树结构相似但实现起来较为简单。插入和删除操作相对较快由于跳表不需要进行节点的频繁平衡调整插入和删除操作的性能较好。 缺点 不适合范围查询跳表的结构不适合高效处理范围查询需要进行线性扫描。难以实现事务和数据持久性跳表的更新操作可能涉及多个层级实现事务和数据持久性要求更复杂。空间开销较大跳表需要额外的指针来连接不同层级占用的内存空间较多。 综合考虑B树更适合关系型数据库系统的需求特别是在处理**范围查询、事务处理和数据持久性方面。**跳表虽然在某些场景下表现良好但不适合作为数据库存储引擎的核心数据结构。数据库系统需要保证高度的数据一致性、可靠性和高效的事务处理而B树能够更好地满足这些要求。 B树简易代码 在Java中实现一个简单的B树数据结构可以是一个复杂的任务因为需要处理插入、删除、查找等操作并且需要维护B树的平衡性质。以下是一个简单的B树数据结构的示例包含常用方法但请注意这只是一个基本示例实际上的实现会更复杂 import java.util.ArrayList; import java.util.List;class BPlusTree {private Node root;private int degree; // B树的度public BPlusTree(int degree) {this.root new LeafNode();this.degree degree;}// 查找操作public String search(int key) {return root.search(key);}// 插入操作public void insert(int key, String value) {root root.insert(key, value);}// 删除操作public void delete(int key) {root.delete(key);}// 内部节点private abstract class Node {ListInteger keys;abstract String search(int key);abstract Node insert(int key, String value);abstract void delete(int key);}// 叶子节点private class LeafNode extends Node {ListString values;LeafNode next;LeafNode() {keys new ArrayList();values new ArrayList();next null;}OverrideString search(int key) {int index keys.indexOf(key);if (index ! -1) {return values.get(index);} else {return null;}}OverrideNode insert(int key, String value) {int index 0;while (index keys.size() keys.get(index) key) {index;}keys.add(index, key);values.add(index, value);if (keys.size() degree) {return splitLeaf();} else {return this;}}Overridevoid delete(int key) {int index keys.indexOf(key);if (index ! -1) {keys.remove(index);values.remove(index);}}private Node splitLeaf() {LeafNode newLeaf new LeafNode();int mid keys.size() / 2;newLeaf.keys.addAll(keys.subList(mid, keys.size()));newLeaf.values.addAll(values.subList(mid, values.size()));keys.subList(mid, keys.size()).clear();values.subList(mid, values.size()).clear();newLeaf.next this.next;this.next newLeaf;return newLeaf;}} }这只是一个简单的B树实现示例实际上的实现可能需要更多的细节和优化特别是在节点分裂、合并和平衡等方面。请注意B树是一种复杂的数据结构实际用于生产环境中的数据库系统通常会有更复杂和高效的实现。此示例仅用于演示B树的基本概念和结构。 跳表简易代码 跳表Skip List是一种有序数据结构类似于平衡树如红黑树用于实现快速的插入、删除和搜索操作。相对于平衡树跳表的实现较为简单并且在某些情况下具有相似的性能。 以下是一个简单的Java实现跳表的示例包括一些常用方法 import java.util.Random;public class SkipList {private static final int MAX_LEVEL 32;private Node head;private int level;public SkipList() {this.head new Node(Integer.MIN_VALUE);this.level 1;}public boolean search(int target) {Node current head;for (int i level - 1; i 0; i--) {while (current.next[i] ! null current.next[i].value target) {current current.next[i];}if (current.next[i] ! null current.next[i].value target) {return true;}}return false;}public void insert(int num) {int newLevel randomLevel();Node newNode new Node(num, newLevel);Node current head;for (int i level - 1; i 0; i--) {while (current.next[i] ! null current.next[i].value num) {current current.next[i];}if (i newLevel) {newNode.next[i] current.next[i];current.next[i] newNode;}}if (newLevel level) {for (int i level; i newLevel; i) {head.next[i] newNode;}level newLevel;}}public boolean erase(int num) {boolean deleted false;Node current head;for (int i level - 1; i 0; i--) {while (current.next[i] ! null current.next[i].value num) {current current.next[i];}if (current.next[i] ! null current.next[i].value num) {current.next[i] current.next[i].next[i];deleted true;}}return deleted;}private int randomLevel() {int level 1;Random rand new Random();while (rand.nextInt(2) 1 level MAX_LEVEL) {level;}return level;}private class Node {int value;Node[] next;Node(int value) {this.value value;this.next new Node[MAX_LEVEL];}Node(int value, int level) {this.value value;this.next new Node[level];}} }这是一个简单的跳表实现示例包含了搜索、插入和删除等基本操作。跳表的核心思想是通过多层索引来实现快速查找每一层都是一个有序链表。这个示例中的randomLevel()方法用于生成一个随机的层数以控制跳表的平衡性。 请注意实际的跳表实现可能会包含更多细节和优化特别是在插入和删除操作时需要维护跳表的平衡性。此示例仅用于演示跳表的基本概念和结构。
http://www.huolong8.cn/news/325315/

相关文章:

  • 照片网站源码网站开发用什么编辑器
  • 网站建设推广浩森宇特com网站是用什么做的
  • 官方网站建设属于什么科目大企业网站建设哪里好
  • 定制网站建设公司费用山东住房和建设厅网站
  • 邯郸网站设计开发公司微信公众号创建平台
  • 企业微信网站怎么建设旅行社网站建设方案书
  • 深圳市推广网站的公司制作手机端网站开发
  • 报名网站建设定做成都百度seo优化公司
  • 此网站域名三天更换导入wordpress 演示数据
  • 江苏工程建设交易信息网站哪个网站做老款二手车
  • 专业网站建设公司用织梦吗建设网站的模板
  • 做电影网站的工具企点营销软件
  • 自动生成海报的网站明星百度指数排行
  • 网站建设厘金手指排名十九财务软件排行榜前十名
  • 做网站搭建环境如何自建网站做淘客
  • 网站ip段屏蔽大型网站建设兴田德润简介
  • 个人做discuz网站备案虚拟产品货源渠道
  • 烟台学校网站建设wordpress获取分类列表
  • 如何撰写一个网站规划建设方案学编程选什么专业
  • 县文化馆网站建设方案网站设计与网站建设
  • 河南省城乡与住房建设厅网站网站建设二公司
  • 扁平化设计风格的网站做ptt有什么好的模板网站
  • 三大框架网站开发云南网站优化公司
  • 做茶叶网站山东省建设职业教育集团网站
  • 德州做网站的怎么在360网站做词条
  • 网站栏目怎么太原自助建站系统
  • 溧阳网站开发建设厅官方网站河南
  • 如何用凡科做网站厅网站建设项目背景
  • 佘山网站建设简述网站内容管理流程
  • 网站策划的内容网页设计与网站开发经济可行性