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

网站死链做招聘网站需要什么人员

网站死链,做招聘网站需要什么人员,建设银行义乌分行网站,wordpress商城教程数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…

数据结构

二叉树

二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有右子节点。 二叉树每个节点的左子树和右子树也分别满足二叉树的定义。

二叉搜索树

二叉搜索树(Binary Search Tree,BST)又名二叉查找树,有序二叉树或者排序二叉 树,是二叉树中比较常用的一种类型 二叉查找树要求,在树中的任意一个节点,其左子树中的每个节点的值,都要小 于这个节点的值,而右子树节点的值都大于这个节点的值

红黑树

红黑树(Red Black Tree):也是一种自平衡的二叉搜索树(BST),之前叫做平 衡二叉B树(Symmetric Binary B-Tree)

红黑树的特点

  • 节点要么是红色,要么是黑色

  • 根节点是黑色

  • 叶子节点都是黑色的空节点

  • 红黑树中红色节点的子节点都是黑色

  • 从任一节点到叶子节点的所有路径都包含相同数目的黑色节点

在添加或删除节点的时候,如果不符合这些性质会发生旋转,以达到所有的性 质,保证红黑树的平衡

散列表

散列表(Hash Table)又名哈希表/Hash表,是根据键(Key)直接访问在内存存储 位置值(Value)的数据结构,它是由数组演化而来的,利用了数组支持按照下 标进行随机访问数据的特性

散列表中元素的存储以key-value的形式进行存储,所以获取元素的时候时间复杂度为O(1)

散列函数

将键(key)映射为数组下标的函数叫做散列函数。可以表示为:hashValue = hash(key)

散列函数的基本要求:

散列函数计算得到的散列值必须是大于等于0的正整数,因为hashValue需要 作为数组的下标。 如果key1==key2,那么经过hash后得到的哈希值也必相同即:hash(key1) == hash(key2)

如果key1!=key2,那么经过hash后得到的哈希值也必不相同即:

hash(key1)!=hash(key2)

实际的情况下想找一个散列函数能够做到对于不同的key计算得到的散列值都不 同几乎是不可能的,即便像著名的MD5,SHA等哈希算法也无法避免这一情况,这 就是散列冲突(或者哈希冲突,哈希碰撞,就是指多个key映射到同一个数组下 标位置)

散列冲突

散列冲突指对于不同的元素通过散列函数计算后可能出现相同的哈希值。

在散列表中通常以数组+链表/红黑树的方式实现,而数组对应的下标我们统称为或者,每个桶(槽)会对应一条链表,所有散列值相同的元素我们都放到相同 槽位对应的链表中。

简单就是,如果有多个key最终的hash值是一样的,就会存入数组的同一个下标 中,下标中挂一个链表存入多个数据

所以当出现散列冲突的时候我们会先比对散列函数的哈希值,然后进入桶对应的元素去比对元素的值是否相同以此解决哈希冲突。

HashMap

底层实现

  • 数据结构:数组 + 链表 + 红黑树(JDK8之后)

  • Node<K,V>[] table 是主要的存储结构,每个元素是一个链表或红黑树的头节点

  • 哈希冲突时:

    • JDK7 及之前使用链表存储冲突节点

    • JDK8 之后:链表长度超过 8 且数组长度 ≥ 64 时,会转为 红黑树

特点

  • 非线程安全:多线程环境使用时会有数据不一致问题

  • 允许一个 null 键多个 null 值

  • 按 key 的 hashCode() 计算 hash 后定位数组下标

  • 查询效率在理想情况下是 O(1),最坏情况下(哈希冲突严重)为 O(n) 或 O(log n)

扩容机制

  • 初始容量:默认 16,必须为 2 的幂次方

  • 负载因子(Load Factor):默认 0.75,控制扩容频率

  • 触发条件:当元素个数 > 容量 * 负载因子 时,触发扩容(resize)

  • 扩容过程

  • 新建容量为原来 2 倍的数组

  • 将原数据重新 hash 分配到新数组中(链表或红黑树节点迁移)

常用方法

put(K key, V value)       // 插入键值对
get(Object key)           // 根据 key 获取值
remove(Object key)        // 移除指定 key 的键值对
containsKey(Object key)   // 判断 key 是否存在
containsValue(Object value) // 判断 value 是否存在
keySet()                  // 获取所有 key 的 Set
values()                  // 获取所有 value 的 Collection
entrySet()                // 获取所有键值对的 Set
Map<String,Object> map = new HashMap<>();//添加元素map.put("name", "hyh");map.put("sex", "男");map.put("age", 18);map.put("address", "北京");map.put("isMarried", false);map.put("height", 1.75);
​//遍历元素for (Map.Entry<String, Object> stringObjectEntry : map.entrySet()) {String key = stringObjectEntry.getKey();Object value = stringObjectEntry.getValue();System.out.println("键: " + key + ", 值: " + value);}
​System.out.println("所有的value值集合"+map.values());

与HashTable的区别

区别点HashMapHashtable
线程安全是(通过 synchronized)
null 键/值支持允许一个 null 键,多个 null 值不允许任何 null 键或值
性能高(无锁)较低(加锁影响性能)
引入版本JDK 1.2JDK 1.0
替代建议推荐使用 ConcurrentHashMap不推荐使用

文章转载自:

http://UbdtVtb6.jpfpc.cn
http://a2xRIvmf.jpfpc.cn
http://1DwhwJPE.jpfpc.cn
http://l2vLaj9i.jpfpc.cn
http://1x30PcdQ.jpfpc.cn
http://QgWEY2jS.jpfpc.cn
http://8vWdoKfI.jpfpc.cn
http://sZx6H5k9.jpfpc.cn
http://IpLQBwPG.jpfpc.cn
http://rQFcXobD.jpfpc.cn
http://GHjpnQZ5.jpfpc.cn
http://oiTdj6Ed.jpfpc.cn
http://y4wMSRka.jpfpc.cn
http://r4ZyK5LJ.jpfpc.cn
http://7aFV5dCW.jpfpc.cn
http://Vl6mw5U2.jpfpc.cn
http://uUrRbbhO.jpfpc.cn
http://TtKkywLC.jpfpc.cn
http://pfoTqeQ4.jpfpc.cn
http://He3I3nR8.jpfpc.cn
http://h4lzHL7z.jpfpc.cn
http://poKz7XAB.jpfpc.cn
http://xtMLcs06.jpfpc.cn
http://sKhKEFEK.jpfpc.cn
http://LrTSPvj6.jpfpc.cn
http://tdSGe4ur.jpfpc.cn
http://fPca1oc7.jpfpc.cn
http://qjrgnb5R.jpfpc.cn
http://RsYc4dKF.jpfpc.cn
http://juLhra6E.jpfpc.cn
http://www.dtcms.com/wzjs/720601.html

相关文章:

  • 微信网站开发公司wordpress防站
  • 未做301重定向的网站中国建设招标网网站
  • 哪里有零基础网站建设教学培训让网站对搜索引擎友好
  • 威海网站建设whhl网站开发时会遇到哪些问题
  • 西安网站建设制作 熊掌号网络设置怎么设置
  • php 判断 $_get 然后跳转到相印的网站非自己的网站如何做二次跳转
  • 平阳住房和城乡建设厅网站付费小说网站建设
  • 上海高端定制网站公司网站不收录原因
  • 自建网站 做自定义导航房地产公司网站建设ppt
  • 互联网大赛建设网站策划书长春网络科技公司排名
  • 重庆光龙网站建设常州手机网站制作
  • 微信平台网站开发把html变成wordpress主题
  • 如何查找同行网站做的外链扬州网官方微博
  • 成都模版网站制作网站角色管理
  • 网站地图制作方法有名的wordpress主题
  • 域名注册哪个网站最便宜建设网站机构
  • 班级网站空间建设取得效果wordpress 图片懒加载
  • 劳务网站怎样做网络运维工程师培训
  • 山西正规网站建设推广东莞网络优化哪家好
  • 深圳建设局网站昭通建设网站
  • 台州市建设规划局网站黑色时尚橱柜网站源码
  • 昆明网站制作企业宁波网站建设团队哪家好
  • 新开传奇网站大全信息推广平台有哪些
  • 网站推广一般在哪个网做哪些网站可以做化妆品广告
  • 注册网站免费注册水煮鱼wordpress模板
  • 远象建设 网站做电子商务平台网站
  • 图片 展示 网站模板郑州教育信息网
  • 烟台seo网站排名优化上海展览设计公司
  • 网站建设费用算广告费吗网站备案手续费
  • 公司做的网站费用如何做账北京app开发公司排名