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

做网站防护的网站wordpress 懒人图库

做网站防护的网站,wordpress 懒人图库,wordpress次级目录ftp,掌握商务网站建设策略目录 1.搜索树 1.1概念 1.2查找 1.3插入 1.4删除 2.Map 2.1map说明 2.2TreeMap和HashMap 2.3常用方法 3.Set 3.1set说明 3.2TreeSet和HashSet 3.3常用方法 1.搜索树 1.1概念 二叉搜索树又称二叉排序树#xff0c;它或者是一棵空树#xff0c;或者具有以下性质它或者是一棵空树或者具有以下性质 1 若它的左子树不为空则左子树上所有节点的值都小于根节点的值 2 若它的右子树不为空则右子树上所有节点的值都大于根节点的值 3 它的左右子树也分别为二叉搜索树 1.2查找 public class BinarySearchTree {static class TreeNode {public int val;public TreeNode left;public TreeNode right;public TreeNode(int val) {this.val val;}}public TreeNode root;//根结点public TreeNode search(int val) {TreeNode cur root;while (cur ! null) {if (cur.val val) {cur cur.right;} else if (cur.val val) {cur cur.left;} else {return cur;}}return null;} } 1.3插入 从根节点开始比根结点小向左走比根结点大向右走直到达到叶子结点插入该叶子结点。 public boolean insert(int key) {TreeNode node new TreeNode(key);//第一次插入if (root null) {root node;return true;}//之后的插入TreeNode cur root;TreeNode parent null;//用来记录cur的位置while (cur ! null) {if (cur.val key) {parent cur;cur cur.right;} else if (cur.val key) {parent cur;cur cur.left;}else { //相同数据不能插入return false;}}if (parent.val key) {parent.left node;}else {parent.right node;}return true; } 1.4删除 方法替罪羊删除法 找到左树的最右边即左树最大值或找到右树的最左边即右树的最小值 作为替罪羊。 /*** param cur 要删除的结点* param parent 要删除节点的父节点*/ private void remove(TreeNode cur, TreeNode parent) {if(cur.left null) { //1.cur的左树为空if(cur root) {root cur.right;}else if(cur parent.left) {parent.left cur.right;}else {parent.right cur.right;}}else if(cur.right null) { //2.cur的右树为空if(cur root) {root cur.left;}else if(cur parent.left) {parent.left cur.left;}else {parent.right cur.left;}}else { //3.cur的左右树都不为空//方法替罪羊删除法//找右树的最小值即右树的最左边作为替罪羊TreeNode targetParent cur;TreeNode target cur.right;while (target.left ! null) { //直到左树为空说明已经找到了替罪羊targetParent target;target target.left;}cur.val target.val; //覆盖//回到了上面的情况1和情况2if(target targetParent.left) {targetParent.left target.right;}else {targetParent.right target.right;}} } Set中存储keyMap中存储Key-value键值对 2.Map 2.1map说明 Map官方文档Map (Java Platform SE 8 ) 注意 1.Map是一个接口不能直接实例化对象如果要实例化对象只能实例化其实现类TreeMap或HashMap 2.Map中存放键值对的Key是唯一的value是可重复的 3.在TreeMap中插入键值对时key不能为空否则会抛出NullPointerException异常value可以为空。但HashMap的key和value都可以为空 4. Map中的Key可以全部分离出来存储到Set中来进行访问(因为Key不能重复) 5. Map中的value可以全部分离出来存储在Collection的任何一个子集合中(value可能有重复)。 6. Map中键值对的Key不能直接修改value可以修改如果要修改key只能先将该key删除掉然后再来进行重新插入。 2.2TreeMap和HashMap MapTreeMapHashMap底层结构红黑树哈希桶增删查改复杂度O(logN)O(1)是否有序关于key有序无序是否线程安全不安全不安全增删查改区别需要进行元素比较通过哈希函数计算哈希地址比较与覆写key必须可比较否则会抛出ClassCastException异常自定义类型需要覆写equals和hashCode方法应用场景需要在key有序场景下key是否有序不关心需要更高的时间性能 2.3常用方法 方法说明V get (Object key )返回key对应的valueV getOrDefault (Object key, V defaultValue)返回key对应的value key不存在返回默认值V put (K key, V value)设置key对应的valueV remove (Object key删除key对应的映射关系SetK keySet () 返回所有 key 的不重复集合 CollectionV values ()返回所有 value 的可重复集合SetMap.EntryK, V entrySet ()返回所有的 key-value 映射关系boolean containsKey (Object key)判断是否包含 keyboolean containsValues (Object value)判断是否包含 value 3.Set 3.1set说明 Set官方文档Set (Java Platform SE 8 ) 注意 1. Set是继承自Collection的一个接口类 2. Set中只存储key并且要求key一定要唯一 3. TreeSet的底层是使用Map来实现的其使用key与Object的一个默认对象作为键值对插入到Map中的 4. Set最大的功能就是对集合中的元素进行去重 5. 实现Set接口的常用类有TreeSet和HashSet还有一个LinkedHashSetLinkedHashSet是在HashSet的基础上维护了一个双向链表来记录元素的插入次序 6. Set中的Key不能修改如果要修改先将原来的删除掉然后再重新插入 7. TreeSet中不能插入null的keyHashSet可以。 3.2TreeSet和HashSet 类TreeMap和HashMap Set底层结构TreeSetHashSet底层结构红黑树哈希桶增删查改时间复杂度O(logN)O(1)是否有序关于key有序不一定有序线程安全不安全不安全增删查改区别按照红黑树的特性进行插入和删除先计算key哈希地址再进行插入和删除比较与覆写key必须可比较否则会抛出ClassCastException异常自定义类型需要覆写equals和hashCode方法应用场景需要在key有序场景下key是否有序不关心需要更高的时间性能 3.3常用方法 方法说明boolean add ( E e )添加元素但重复元素不会被添加成功void clear ()清空集合boolean contains ( Object o )判断 o 是否在集合中IteratorE iterator ()返回迭代器boolean remove ( Object o )删除集合中的 oint size ()返回 set 中元素的个数boolean isEmpty ()检测 set 是否为空Object [] toArray ()将 set 中的元素转换为数组返回boolean containsAll ( Collection? c )判断集合 c 中的元素是否在 set 中全部存在boolean addAll ( Collection? extends E c )将集合c中的元素添加到 set 中达到去重效果
http://www.pierceye.com/news/235718/

相关文章:

  • 网站开发心路历程烟台网站建设薇企汇互联见效付款
  • 企业网站的制作周期wordpress添加数据库表
  • 广告推广营销网站网站买空间的价格
  • 转转假网站怎么做linux建设视频网站
  • 伍佰亿搜索引擎网站系统wordpress 增加备案
  • 韩国做游戏的电影 迅雷下载网站有哪些网络营销方式文献
  • 大学生兼职网站的融资方案龙华网站建设设计制作公司
  • 青之峰网站建设哪家好用什么l软件做网站了
  • 免费建站资源怎么编写app软件
  • 机关网站建设建议云南响应式网站建设
  • 对网站开发语言的统计杭州网站设计公司有哪些
  • 不会代码 怎么做网站兴义网络推广
  • 综合电子商务型企业网站怎么做网站的网盘
  • ucenter使用自己做的网站房地产新闻时事热点
  • 企业网站备案 过户电商运营视频教程
  • 做网站运营这工作怎么样北京网站优化价格
  • 河南专业网站建设网站怎么做高权重
  • 国内大型电子网站建设做网站时怎么透明化
  • 微应用和微网站的区别手机网站开发的目的
  • 网站ico开一个网站建设公司好
  • wordpress中文站cn外贸网站怎么换域名
  • 淘宝客怎么做直播网站吗学校网站建设发展概况分析
  • 广州网站外贸推广建筑师必看的16部纪录片
  • 深圳网站建设平台网站右侧浮动广告
  • 中英文网站源码浙江东南网架公司
  • 个人备案网站放什么资料培训
  • html做企业门户网站提供设计的网站
  • 成都三合一网站建设成年s8视频加密线路
  • 做网站购买服务器如何优化网络
  • 企业公司网站 北京怎样用前端知识制作企业网站