上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页
摘要: 两者的父类不同 HashMap是继承自AbstractMap类,而HashTable 是继承自Dictionary类.不过他们都实现了Map Cloneable Serializable这三个接口. ###对null的支持不同 HashTable:key和value都不能为null HashMap: 阅读全文
posted @ 2020-11-23 21:03 刘指导 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 看一个案例 给你一个数列{1,2,3,4,5,6},要求创建一棵二叉排序树(BST),并分析问题所在. 左子树全部为空,从形式上看,更像一个单链表 插入速度没有影响 查询速度明显降低(因为需要依次比较),不能发挥BST的优势,因为每次还需要比较左子树,其查询速度比单链表还慢 解决方案-平衡二叉树(A 阅读全文
posted @ 2020-10-28 20:16 刘指导 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 二叉排序树的删除情况比较复杂,有以下三种情况需要考虑 删除叶子节点(比如:2,5,9,12) 删除只有一棵子树的节点(比如1) 删除有两棵子树的节点(比如:7,3,10) 操作思路分析 第一种情况:删除叶子节点 思路: 需要先找到待删除的节点 targetNode 找到targetNode的父节点 阅读全文
posted @ 2020-10-27 21:17 刘指导 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 一个数组创建成对应的二叉排序树,并使用中序遍历二叉排序树,比如:数组为Array(7,3,10,12,5,1,9),创建成对应的二叉排序树为 public class BinarySortTreeDemo { public static void main(String[] args) { int[ 阅读全文
posted @ 2020-10-27 20:07 刘指导 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 先看一个需求 给你一个数列{7, 3, 10, 12, 5, 1, 9},要求能够高效的完成对数据的查询和添加 解决方案 使用数组 数组未排序 优点:直接在数组尾添加,速度快. 缺点:查找速度慢 数组排序 优点:可以使用二分查找,查找速度块 缺点:为了保证数组有序,在添加新数据时,找到插入位置后,后 阅读全文
posted @ 2020-10-27 20:03 刘指导 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 基本介绍 给定n个权值作为n个叶子节点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,这样的二叉树为最优二叉树,也称为赫夫曼树 赫夫曼树是带权路径长度最短的数,权值较大的节点离根较近 赫夫曼树几个重要概念 1.路径和路径长度:在一棵树中,从一个节点往下可以达到的孩子或孙子节点之间的通路,称 阅读全文
posted @ 2020-10-27 17:52 刘指导 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 堆排序基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它是不稳定排序 堆是具有以下性质的完全二叉树:每个节点的值都大于或等于其左右孩子节点的值,称为大顶堆,注意:没有要求节点的左孩子的值和右孩子的值的大小关系 每个节 阅读全文
posted @ 2020-10-27 16:23 刘指导 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 二叉树图解 ###二叉树的前序遍历 前序遍历:先输出父节点,再遍历左子树和右子树 //前序遍历 根左右 public void preSearch() { System.out.println(this); if (this.left != null) { this.left.preSearch() 阅读全文
posted @ 2020-10-27 15:40 刘指导 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 为什么需要数这种数据结构 数组存储方式分析 优点:通过下标方式访问元素,速度快.对于有序数组可以使用二分查找提高检索速度. 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低 链式存储方式的分析 优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将待插入的节 阅读全文
posted @ 2020-10-19 21:34 刘指导 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 插值查找算法原理 插值查找算法类似于二分查找,不同的是插值查找每次从自适应mid处开始查找 将折半查找中的求mid索引的公式 \(mid=\frac{left+right}{2}=low+\frac{1}{2}(left+right)\) 改成 \(mid=low+\frac{findVal-arr 阅读全文
posted @ 2020-10-18 16:59 刘指导 阅读(219) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页